
Master Azure-focused Terraform concepts through 70 practical demos and GitHub step-by-step docs. Cover blocks, providers, resources, variables, outputs, data sources, modules, and remote state with Azure storage.
Learn how infrastructure as code with Terraform enables rapid, automated creation of dev, staging, production, and disaster recovery environments using code templates, GitHub, CI/CD, and Terraform Cloud.
Install the Terraform CLI on macOS and set up supporting tools for Azure, including the Azure CLI, VS Code with the Terraform plugin, and a Git client, following step-by-step guidance.
Install the Visual Studio Code editor and the Terraform plugin to enable syntax highlighting and auto completion, then download or clone the course repository for Terraform manifests and sectioned configurations.
Install the azure cli and git client, upgrade to the latest version, configure azure cli for authentication, and set your subscription for terraform workflows.
Install git, Azure CLI, and Terraform on Windows, configure path and login, verify Terraform version, rename folders to avoid long path issues, and install Visual Studio Code and Terraform plugin.
Download the correct Terraform CLI binary for your Linux architecture and install it per HashiCorp's steps, or copy it to /usr/local-bin for path access and auto upgrade.
Review the Terraform manifests and core commands, set the Azure location to East US, and configure the Azure provider to create a resource group named my demo org one.
Master terraform core commands—init, validate, plan, apply, and destroy—for Azure resource groups, including provider management, state handling, and tfstate file updates.
Identify the eight Terraform top level blocks, including fundamental, variable, and calling blocks, and how providers, resources, data sources, and modules shape backend, variables, outputs, and locals.
Explore the Terraform settings, provider, and resource blocks to understand configuring behavior, declaring providers, creating resources, and locking CLI versions with a remote backend.
Understand how the Terraform required_version setting locks your CLI version, using constraints like >= 1.0.0 and tilde >, to prevent config breakage during init and apply.
Explore how Terraform providers power resource management, configure the Azure provider, use init, plan, apply, and destroy, and lock provider versions with the dependency lock file.
Define azure providers in the required_providers block with source HashiCorp/azure and a production-grade version constraint using a pessimistic operator; then run terraform init and upgrade and enable the features block.
Create an Azure resource group, run Terraform init, validate, and plan, then apply with auto-approve to deploy, followed by auto-approve destroy and cleanup.
Learn Terraform's multiple providers concept by configuring East US and West US providers with aliases, applying provider settings per resource or module, and controlling resource behavior like disk deletion.
Configure multiple Azure providers in Terraform with aliases, create resource groups in East US and West US, assign resources to provider, and clean up with init, plan, apply, and destroy.
Understand how Terraform dependency lock files preserve provider versions through version constraints, ensuring consistent infrastructure across teams by recording decisions, checksums, and local logs.
Create an Azure storage account in Terraform using provider 1.40.4.0, define the storage account resource, generate a 21-character name from a random string, and reference the resource group and location.
Explore managing terraform dependencies with a dependency log file and a dot terraform log sql, then run init, validate, plan, and apply to create resources and test azure provider upgrades.
Explore Terraform resource syntax, including resource type and local name, uniqueness within a module, and meta arguments like provider and count, with practical Azure examples.
Create an Azure virtual network using Terraform resource syntax, including address_space, location, and resource_group_name. Understand list and map notations and prep for the subnet resource in the next lecture.
Create and connect Azure resources with Terraform by defining a subnet, a public IP, and a network interface, configuring them within a virtual network.
Explore Terraform resource behavior, including create, destroy, update in place, and destroy-and-recreate patterns, guided by the Terraform state and Azure cloud API limitations.
Explore resource behavior with Terraform: init, validate, plan, and apply to create five resources (resource group, virtual network, subnet, public IP, and network interface) and verify via the state file.
Understand how Terraform state maps Azure resources to your configuration and updates after apply. Learn about the terraform.tfstate file, remote backends, and why manual edits are discouraged.
Explore Terraform resource behavior, including update in place and destroy-recreate, observe plan tilde changes on tags, and learn how lifecycle meta-arguments can alter destroy-before-create steps.
Understand the difference between the desired terraform state defined in local manifests and the current state of cloud resources tracked in terraform.tfstate, and learn cleanup with terraform destroy auto approve.
Introduce Terraform meta-arguments, including depends_on, count, for_each, maps, and lifecycle options such as create_before_destroy, prevent_destroy, and ignore_changes, via nine Azure Linux VM demos.
Explore Terraform meta arguments, focusing on depends_on and its role in resource dependencies. Learn how explicit dependencies affect Azure resources like resource group, virtual network, subnet, and public IP.
Learn how to use the depends_on meta-argument in Terraform to enforce creation order among resource group, virtual network, subnet, and public IP, with init, validate, plan, apply, and destroy demos.
******* Course Overview *******
Welcome to this Amazing course on HashiCorp Certified: Terraform Associate on Azure - 70 Demos. Below is the list of modules covered in this course.
Course Modules
01. Infrastructure as Code (IaC)
02. Install Tools on macOS, Linux and windows
03. Command Basics
04. Language Syntax
05. Settings Block
06. Providers Block
07. Multiple Providers usage
08. Dependency Lock File Importance
09. Resources Syntax and Behavior
10. Resources Meta-Argument - depends_on
11. Resources Meta-Argument - count
12. Resources Meta-Argument - for_each
13. Resources Meta-Argument - for_each Maps
14. Resources Meta-Argument - for_each ToSet
15. Resources Meta-Argument - for_each Chaining
16. Azure Linux Virtual Machine with Terraform
17. Resources Meta-Argument - lifecycle create_before_destroy
18. Resources Meta-Argument - lifecycle prevent_destroy
19. Resources Meta-Argument - lifecycle ignore_changes
20. Input Variables - Basics
21. Input Variables - Assign When Prompted
22. Input Variables - Override default with CLI var
23. Input Variables - Override with environment variables
24. Input Variables - Assign with terraform.tfvars
25. Input Variables - Assign with tfvars var-file argument
26. Input Variables - Assign with auto tfvars
27. Input Variables - Lists
28. Input Variables - Maps
29. Input Variables - Validation Rules
30. Input Variables - Sensitive Input Variables
31. Input Variables - Structural Type Object
32. Input Variables - Structural Type tuple
33. Input Variables - Structural Type sets
34. Output Values - Basics
35. Output Values - With Count and Splat Expression
36. Output Values - With for_each and for loops
37. Local Values
38. Conditional Expressions
39. Datasources
40. Backends - Remote State Storage
41. Remote State Datasource
42. State Commands
43. Terraform Apply -refresh-only Command
44. CLI Workspaces with local backend
45. CLI Workspaces with a remote backend
46. File Provisioner
47. local-exec Provisioner
48. remote-exec Provisioner
49. Null Resource
50. State Import
51. Modules from Public Registry
52. Terraform Azure Static Website
53. Build Local Module
54. Publish Modules to Terraform Public Registry
55. Module Sources
56. Terraform Cloud - VCS-Driven Workflow
57. Terraform Cloud - CLI-Driven Workflow
58. Terraform Cloud - Share modules in private module registry
59. Migrate State to Terraform Cloud
60. Basic Sentinel & Cost Control Policies
61. Foundational Sentinel Policies
62. Dynamic Blocks
63. Terraform Debug
64. Override Files
65. External Provider Basic Demo
66. External Provider Integrated Demo
67. CLI Config File on macOS and Linux
68. CLI Config File on WindowsOS
69. Manage Providers
70. Terraform Functions
Terraform Functions used
1. element function
2. file function
3. filebase64 function
4. toset function
5. length function
6. lookup function
7. substr function
8. contains function
9. lower function
10. upper function
11. regex function
12. can function
13. keys function
14. values function
15. sum function
Each of my courses come with
Amazing Hands-on Step By Step Learning Experiences
Real Implementation Experience
Friendly Support in the Q&A section
30 Day "No Questions Asked" Money Back Guarantee!