
Explore what Terraform is, why we need it, and how to set up Terraform on Windows or Linux, plus infrastructure as code and multi-cloud provider support.
Set up Terraform on Windows by downloading the Hashicorp binary for amd64, extracting it, adding its path to the system environment variables, and verifying with terraform --version.
Log into a Linux instance, update packages, install wget, and follow the Hashicorp documentation to install Terraform, verify the version, and note that the process works on Windows as well.
Learn to set up a google cloud terraform project by configuring a google provider with service account key and creating a storage bucket resource with a name and location.
Learn how to run terraform init, plan, and apply with the Google provider to create a storage bucket, manage the state file, and use destroy to remove resources.
Explore how Terraform uses providers as plugins to manage resources across clouds like AWS and Google Cloud, and learn how to declare a provider for your infrastructure.
Learn how to manage the Google provider version in Terraform by configuring version constraints, initializing providers with terraform init, and understanding the dependency lock file and latest versus specific versions.
Understand how Terraform state maps real-world resources to your configuration, and how the local file named terraform.tfstate and remote state storage support team collaboration.
Learn how to create and manage a Google Cloud storage bucket with Terraform, track resources via the local terraform.tfstate, and see how plan and apply reflect changes and state updates.
Explore Terraform backends and remote state, learning how the backend defines where the state file is stored, contrasting the default local backend with remote storage for multiple users.
Configure a remote backend for Terraform with a Google Cloud Storage bucket, copy the local state, initialize, plan, and apply, while enforcing state locking to prevent concurrent writes.
Learn how to create and use Terraform variables to manage region changes across multiple files, using defaults, prompting, and variable files for scalable infrastructure.
Learn to create and use a list variable in Terraform to deploy three storage buckets in three different GCP regions by zero-based indexing of the list.
Demonstrate using a map variable in Terraform to assign region keys to values and create multiple storage buckets across regions with a single variable.
Explore using Terraform count and count index to scale storage buckets in GCP, creating multiple resources from a single block with unique names, validated by plan and apply.
Learn how to use the for_each meta argument in Terraform to create multiple resources with a single block, overcome count limitations, customize names, and manage deletions in GCP storage buckets.
Vishal demonstrates using a Terraform conditional expression to create resources only for a specified environment, using a count-based block and an environment variable to differentiate dev and prod buckets.
Learn how to add validation to Terraform variables, enforce region constraints, and hide sensitive values in plans, with storage bucket location examples.
Learn how to debug Terraform code by configuring log levels from trace to error. Use TF_LOG and TF_LOG_PATH to capture detailed logs, including info, warn, and error, to a file.
Explore how to use Terraform workspaces to maintain separate state files for dev and prod projects. Create, switch, list, and delete workspaces to test changes safely.
Learn to import existing Google Cloud storage buckets into Terraform by creating a matching resource block with an id, then run Terraform import and manage changes via plan and apply.
Learn how to create Google Cloud folders with Terraform, configure credentials via a service account, and organize resources using modular folders, projects, network, and compute configurations.
Create Google Cloud projects inside a folder with a Terraform module, defining project name, project id, and folder id in main.tf, then initialize, plan, and apply with variables, enabling for_each.
Learn to create a VPC network and a subnetwork in a GCP project using Terraform, enabling the compute API and configuring project settings.
Create a google compute instance with terraform on gcp. Configure a vpc network and subnetwork, set the project id and provider block, and manage external IPs and internal IPs.
Learn to create a standard persistent disk and attach it to a Google compute instance using Terraform, including resource blocks for compute disk and attach disk, plan, and apply.
Build a cloud build ci/cd pipeline with Terraform on Google Cloud to create a storage bucket, using a GCP source repository, cloudbuild.yaml, and a push-trigger for init, plan, and apply.
Create and connect a Google Cloud source repository, then build a terraform pipeline with cloud build to provision a storage bucket using init, plan, and prod branch apply.
Learn to build a CI/CD pipeline that automates Google Cloud provisioning with Terraform and GitHub Actions, from repo setup to init, plan, and apply on push.
Create a private GitHub repository for Terraform with a readme and terraform-specific gitignore, then clone to local and set up with VS Code.
Design a basic Terraform configuration to create a Google Cloud storage bucket and automate deployment with a GitHub Actions workflow, executing terraform init, plan, and apply on each push.
Create a free Terraform Cloud account, set up your first workspace, and connect GitHub to deploy Google Cloud resources using a private module and registry, with automated state file management.
Automate Google Cloud infrastructure with Terraform Cloud using GitHub integration, state file in a workspace, and pull request driven plan and apply workflows, without external ci/cd tools.
Publish and manage private Terraform modules in the Terraform private registry for a GCP-based workflow, enforcing best practices and module versioning with Terraform Cloud.
The HashiCorp Certified: Terraform Associate (003) certification course with a focus on Google Cloud Platform (GCP) provides participants with the knowledge and skills necessary to effectively use Terraform for infrastructure provisioning and management in a GCP environment. This course is designed to prepare individuals for the Terraform Associate certification exam, which assesses their ability to design and implement infrastructure solutions using Terraform.
Upon completing this course, participants will:
Understand Terraform Fundamentals: Gain a deep understanding of Terraform, its core concepts, and how it fits into the world of Infrastructure as Code (IaC).
Master Terraform Configuration Language (HCL): Learn to write and structure Terraform configuration files using HCL to define infrastructure resources.
Manage Resources: Explore how to define, create, update, and delete resources in GCP using Terraform.
Manage State: Understand Terraform state files and how to manage them for collaborative development.
Learn Terraform Developer Essentials: Explore essential developer practices and techniques for working effectively with Terraform, including version control, code review, and collaboration.
Utilize Terraform Workspaces: Learn about Terraform workspaces and how they enable the management of multiple environments and configurations within a single project.
Leverage Terraform Remote State: Understand the benefits of remote state management and implement remote backends for Terraform projects.
Terraform Debugging: Gain proficiency in troubleshooting and debugging Terraform configurations to identify and resolve issues effectively.
Implement Best Practices: Follow best practices for organizing and structuring Terraform code to ensure maintainability and scalability.
Use GCP Provider: Explore the GCP provider and understand how to interact with GCP services and resources using Terraform.
Automate Deployment Workflows: Learn how to integrate Terraform into CI/CD pipelines to automate infrastructure deployment.
Optimize Infrastructure: Explore strategies for optimizing infrastructure costs and resource utilization in GCP.