> ## Documentation Index
> Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Course: HashiCorp Certified: Terraform Associate 004

> Exam-focused, hands-on course teaching Terraform as Infrastructure as Code to prepare learners for the HashiCorp Certified Terraform Associate 004 exam and real-world multi-cloud workflows

Notes for the **HashiCorp Certified: Terraform Associate 004** course: 103 lessons across 15 sections.

## Course Introduction

* [Course Introduction](/docs/HashiCorp-Certified-Terraform-Associate-004/Course-Introduction/Course-Introduction/page.md)
* [About the Terraform Associate Exam](/docs/HashiCorp-Certified-Terraform-Associate-004/Course-Introduction/About-the-Terraform-Associate-Exam/page.md)
* [Exam Objectives what youre tested on](/docs/HashiCorp-Certified-Terraform-Associate-004/Course-Introduction/Exam-Objectives-what-youre-tested-on/page.md)
* [Whats New in the Terraform Associate 004 Exam](/docs/HashiCorp-Certified-Terraform-Associate-004/Course-Introduction/Whats-New-in-the-Terraform-Associate-004-Exam/page.md)

## Preparing Your Environment

* [Section Introduction Preparing Your Environment](/docs/HashiCorp-Certified-Terraform-Associate-004/Preparing-Your-Environment/Section-Introduction-Preparing-Your-Environment/page.md)
* [Install Terraform on MacOS and Linux](/docs/HashiCorp-Certified-Terraform-Associate-004/Preparing-Your-Environment/Install-Terraform-on-MacOS-and-Linux/page.md)
* [Install Terraform on Microsoft Windows](/docs/HashiCorp-Certified-Terraform-Associate-004/Preparing-Your-Environment/Install-Terraform-on-Microsoft-Windows/page.md)
* [Installing Microsoft Visual Studio Code IDE](/docs/HashiCorp-Certified-Terraform-Associate-004/Preparing-Your-Environment/Installing-Microsoft-Visual-Studio-Code-IDE/page.md)
* [Setting Up AWS Credentials for Terraform](/docs/HashiCorp-Certified-Terraform-Associate-004/Preparing-Your-Environment/Setting-Up-AWS-Credentials-for-Terraform/page.md)
* [Setting Up Azure Credentials for Terraform](/docs/HashiCorp-Certified-Terraform-Associate-004/Preparing-Your-Environment/Setting-Up-Azure-Credentials-for-Terraform/page.md)
* [Setting Up GitHub Credentials for Terraform](/docs/HashiCorp-Certified-Terraform-Associate-004/Preparing-Your-Environment/Setting-Up-GitHub-Credentials-for-Terraform/page.md)

## Terraform Foundations

* [Section Introduction Terraform Foundations](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Foundations/Section-Introduction-Terraform-Foundations/page.md)
* [Introduction to Terraform](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Foundations/Introduction-to-Terraform/page.md)
* [Learn the Basics of HashiCorp Configuration Language HCL](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Foundations/Learn-the-Basics-of-HashiCorp-Configuration-Language-HCL/page.md)
* [Lets Look at Resource Referencing with Demo](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Foundations/Lets-Look-at-Resource-Referencing-with-Demo/page.md)
* [Learn about Best Practices for HCL](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Foundations/Learn-about-Best-Practices-for-HCL/page.md)
* [Core Components and Benefits of Terraform](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Foundations/Core-Components-and-Benefits-of-Terraform/page.md)
* [Which Terraform Version Should You Use](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Foundations/Which-Terraform-Version-Should-You-Use/page.md)
* [Comparing Terraform to Other Tools](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Foundations/Comparing-Terraform-to-Other-Tools/page.md)
* [Declarative vs Imperative Why Terraform Works the Way It Does](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Foundations/Declarative-vs-Imperative-Why-Terraform-Works-the-Way-It-Does/page.md)

## The Core Terraform Workflow

* [Section Introduction Terraform Workflow](/docs/HashiCorp-Certified-Terraform-Associate-004/The-Core-Terraform-Workflow/Section-Introduction-Terraform-Workflow/page.md)
* [Intro to the Terraform Workflow](/docs/HashiCorp-Certified-Terraform-Associate-004/The-Core-Terraform-Workflow/Intro-to-the-Terraform-Workflow/page.md)
* [Terraform Init](/docs/HashiCorp-Certified-Terraform-Associate-004/The-Core-Terraform-Workflow/Terraform-Init/page.md)
* [Terraform Plan](/docs/HashiCorp-Certified-Terraform-Associate-004/The-Core-Terraform-Workflow/Terraform-Plan/page.md)
* [Understanding the Resource Graph](/docs/HashiCorp-Certified-Terraform-Associate-004/The-Core-Terraform-Workflow/Understanding-the-Resource-Graph/page.md)
* [Terraform Apply](/docs/HashiCorp-Certified-Terraform-Associate-004/The-Core-Terraform-Workflow/Terraform-Apply/page.md)
* [Terraform Destroy](/docs/HashiCorp-Certified-Terraform-Associate-004/The-Core-Terraform-Workflow/Terraform-Destroy/page.md)
* [Terraform Validate](/docs/HashiCorp-Certified-Terraform-Associate-004/The-Core-Terraform-Workflow/Terraform-Validate/page.md)

## Terraform CLI

* [Section Introduction Terraform CLI](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-CLI/Section-Introduction-Terraform-CLI/page.md)
* [Introduction to the Terraform CLI](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-CLI/Introduction-to-the-Terraform-CLI/page.md)
* [Demo Terraform CLI](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-CLI/Demo-Terraform-CLI/page.md)
* [Making the Most of the Terraform CLI](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-CLI/Making-the-Most-of-the-Terraform-CLI/page.md)
* [Demo Making the Most of the Terraform CLI](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-CLI/Demo-Making-the-Most-of-the-Terraform-CLI/page.md)

## Terraform File Structure and Organization

* [Terraform File Structure and Organization](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-File-Structure-and-Organization/Terraform-File-Structure-and-Organization/page.md)

## Terraform Configuration - Fundamentals

* [HCL Basics Understanding Block Structure](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Configuration-Fundamentals/HCL-Basics-Understanding-Block-Structure/page.md)
* [Connecting to Cloud Platforms with Provider Blocks](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Configuration-Fundamentals/Connecting-to-Cloud-Platforms-with-Provider-Blocks/page.md)
* [Using Multiple Providers in Your Configuration](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Configuration-Fundamentals/Using-Multiple-Providers-in-Your-Configuration/page.md)
* [Creating Infrastructure with Resource Blocks](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Configuration-Fundamentals/Creating-Infrastructure-with-Resource-Blocks/page.md)
* [Reading Existing Resources with Data Sources](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Configuration-Fundamentals/Reading-Existing-Resources-with-Data-Sources/page.md)
* [Parameterizing Configurations with Input Variables](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Configuration-Fundamentals/Parameterizing-Configurations-with-Input-Variables/page.md)
* [Defining Variable Types](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Configuration-Fundamentals/Defining-Variable-Types/page.md)
* [Assigning Variable Values and Understanding Precedence](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Configuration-Fundamentals/Assigning-Variable-Values-and-Understanding-Precedence/page.md)
* [Exposing Configuration Data with Output Values](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Configuration-Fundamentals/Exposing-Configuration-Data-with-Output-Values/page.md)
* [Controlling Terraform Behavior and Settings](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Configuration-Fundamentals/Controlling-Terraform-Behavior-and-Settings/page.md)

## Understading and Managing Terraform State

* [Section Intro Terraform State](/docs/HashiCorp-Certified-Terraform-Associate-004/Understading-and-Managing-Terraform-State/Section-Intro-Terraform-State/page.md)
* [Introduction to Terraform State](/docs/HashiCorp-Certified-Terraform-Associate-004/Understading-and-Managing-Terraform-State/Introduction-to-Terraform-State/page.md)
* [Where Can I Store My Terraform State](/docs/HashiCorp-Certified-Terraform-Associate-004/Understading-and-Managing-Terraform-State/Where-Can-I-Store-My-Terraform-State/page.md)
* [Remote State Configuration](/docs/HashiCorp-Certified-Terraform-Associate-004/Understading-and-Managing-Terraform-State/Remote-State-Configuration/page.md)
* [Demo Remote State Configuration](/docs/HashiCorp-Certified-Terraform-Associate-004/Understading-and-Managing-Terraform-State/Demo-Remote-State-Configuration/page.md)
* [Demo Migrate Your State to a Remote State Configuration](/docs/HashiCorp-Certified-Terraform-Associate-004/Understading-and-Managing-Terraform-State/Demo-Migrate-Your-State-to-a-Remote-State-Configuration/page.md)
* [Inspecting Terraform State](/docs/HashiCorp-Certified-Terraform-Associate-004/Understading-and-Managing-Terraform-State/Inspecting-Terraform-State/page.md)
* [Demo Inspecting Terraform State using the CLI](/docs/HashiCorp-Certified-Terraform-Associate-004/Understading-and-Managing-Terraform-State/Demo-Inspecting-Terraform-State-using-the-CLI/page.md)
* [Understanding State Drift Visual Walkthrough Lightboard](/docs/HashiCorp-Certified-Terraform-Associate-004/Understading-and-Managing-Terraform-State/Understanding-State-Drift-Visual-Walkthrough-Lightboard/page.md)
* [What Happens if You Lose State Visual Walkthrough Lightboard](/docs/HashiCorp-Certified-Terraform-Associate-004/Understading-and-Managing-Terraform-State/What-Happens-if-You-Lose-State-Visual-Walkthrough-Lightboard/page.md)
* [Detecting State Drift with Refresh Only Mode](/docs/HashiCorp-Certified-Terraform-Associate-004/Understading-and-Managing-Terraform-State/Detecting-State-Drift-with-Refresh-Only-Mode/page.md)
* [Demo Detecting State Drift with Refresh Only Mode](/docs/HashiCorp-Certified-Terraform-Associate-004/Understading-and-Managing-Terraform-State/Demo-Detecting-State-Drift-with-Refresh-Only-Mode/page.md)
* [Managing Multiple Environments with Workspaces](/docs/HashiCorp-Certified-Terraform-Associate-004/Understading-and-Managing-Terraform-State/Managing-Multiple-Environments-with-Workspaces/page.md)

## Marking Code Reusable

* [Using Built In Functions to Standardize Code](/docs/HashiCorp-Certified-Terraform-Associate-004/Marking-Code-Reusable/Using-Built-In-Functions-to-Standardize-Code/page.md)
* [Enhancing Code with Dynamic Values](/docs/HashiCorp-Certified-Terraform-Associate-004/Marking-Code-Reusable/Enhancing-Code-with-Dynamic-Values/page.md)
* [Using Locals to Avoid Code Duplication](/docs/HashiCorp-Certified-Terraform-Associate-004/Marking-Code-Reusable/Using-Locals-to-Avoid-Code-Duplication/page.md)
* [Using the count Meta Argument](/docs/HashiCorp-Certified-Terraform-Associate-004/Marking-Code-Reusable/Using-the-count-Meta-Argument/page.md)
* [Using the for each Meta Argument](/docs/HashiCorp-Certified-Terraform-Associate-004/Marking-Code-Reusable/Using-the-for-each-Meta-Argument/page.md)

## Refactoring Terraform State

* [Refactoring Terraform State](/docs/HashiCorp-Certified-Terraform-Associate-004/Refactoring-Terraform-State/Refactoring-Terraform-State/page.md)
* [Moving Resources with the moved Block](/docs/HashiCorp-Certified-Terraform-Associate-004/Refactoring-Terraform-State/Moving-Resources-with-the-moved-Block/page.md)
* [Removing Resources with the removed Block](/docs/HashiCorp-Certified-Terraform-Associate-004/Refactoring-Terraform-State/Removing-Resources-with-the-removed-Block/page.md)

## Terraform Modules

* [Introduction to Modules](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Modules/Introduction-to-Modules/page.md)
* [Understanding Parent and Child Modules](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Modules/Understanding-Parent-and-Child-Modules/page.md)
* [Module Versioning and Version Constraints](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Modules/Module-Versioning-and-Version-Constraints/page.md)
* [Calling Modules with the Module Block](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Modules/Calling-Modules-with-the-Module-Block/page.md)
* [Understanding Variable Scope in Modules](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Modules/Understanding-Variable-Scope-in-Modules/page.md)
* [Demo Using Modules from the Terraform Registry](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Modules/Demo-Using-Modules-from-the-Terraform-Registry/page.md)
* [Demo Writing and Using Your Own Modules](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Modules/Demo-Writing-and-Using-Your-Own-Modules/page.md)

## Managing Resource Behavior and Dependencies

* [Controlling Resource Order with Explicit Dependencies](/docs/HashiCorp-Certified-Terraform-Associate-004/Managing-Resource-Behavior-and-Dependencies/Controlling-Resource-Order-with-Explicit-Dependencies/page.md)
* [Managing Resource Behavior](/docs/HashiCorp-Certified-Terraform-Associate-004/Managing-Resource-Behavior-and-Dependencies/Managing-Resource-Behavior/page.md)
* [Demo Manage Resource Behavior with lifecycle](/docs/HashiCorp-Certified-Terraform-Associate-004/Managing-Resource-Behavior-and-Dependencies/Demo-Manage-Resource-Behavior-with-lifecycle/page.md)
* [Validating Your Configuration](/docs/HashiCorp-Certified-Terraform-Associate-004/Managing-Resource-Behavior-and-Dependencies/Validating-Your-Configuration/page.md)

## Securing Terraform Configurations

* [Why Secrets in Terraform Are Risky](/docs/HashiCorp-Certified-Terraform-Associate-004/Securing-Terraform-Configurations/Why-Secrets-in-Terraform-Are-Risky/page.md)
* [Protecting Secrets in Your Configuration](/docs/HashiCorp-Certified-Terraform-Associate-004/Securing-Terraform-Configurations/Protecting-Secrets-in-Your-Configuration/page.md)
* [Hiding Secrets with Sensitive Variables and Outputs](/docs/HashiCorp-Certified-Terraform-Associate-004/Securing-Terraform-Configurations/Hiding-Secrets-with-Sensitive-Variables-and-Outputs/page.md)
* [Keeping Secrets Out of Version Control with Environment Variables](/docs/HashiCorp-Certified-Terraform-Associate-004/Securing-Terraform-Configurations/Keeping-Secrets-Out-of-Version-Control-with-Environment-Variables/page.md)
* [Reading Secrets from External Sources](/docs/HashiCorp-Certified-Terraform-Associate-004/Securing-Terraform-Configurations/Reading-Secrets-from-External-Sources/page.md)
* [Securing State Files](/docs/HashiCorp-Certified-Terraform-Associate-004/Securing-Terraform-Configurations/Securing-State-Files/page.md)
* [Keeping Secrets Out of State with Ephemeral Values and Write only Arguments](/docs/HashiCorp-Certified-Terraform-Associate-004/Securing-Terraform-Configurations/Keeping-Secrets-Out-of-State-with-Ephemeral-Values-and-Write-only-Arguments/page.md)
* [Working with HashiCorp Vault Patterns and Approaches](/docs/HashiCorp-Certified-Terraform-Associate-004/Securing-Terraform-Configurations/Working-with-HashiCorp-Vault-Patterns-and-Approaches/page.md)

## Terraform Troubleshooting

* [Debugging Terraform](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Troubleshooting/Debugging-Terraform/page.md)
* [Demo Debugging Terraform](/docs/HashiCorp-Certified-Terraform-Associate-004/Terraform-Troubleshooting/Demo-Debugging-Terraform/page.md)

## HCP Terraform

* [HCP Terraform Overview longer video](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/HCP-Terraform-Overview-longer-video/page.md)
* [Demo Setting Up Your HCP Terraform Account](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/Demo-Setting-Up-Your-HCP-Terraform-Account/page.md)
* [Getting Connected and Authenticated with HCP Terraform](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/Getting-Connected-and-Authenticated-with-HCP-Terraform/page.md)
* [Understanding HCP Terraform Workspaces](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/Understanding-HCP-Terraform-Workspaces/page.md)
* [Demo Creating a Workspace](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/Demo-Creating-a-Workspace/page.md)
* [HCP Terraform Execution Modes](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/HCP-Terraform-Execution-Modes/page.md)
* [Demo Migrating State to HCP Terraform](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/Demo-Migrating-State-to-HCP-Terraform/page.md)
* [Demo Automating Runs with VCS Driven Workflow](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/Demo-Automating-Runs-with-VCS-Driven-Workflow/page.md)
* [Organizing Your Work with Projects](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/Organizing-Your-Work-with-Projects/page.md)
* [Demo Working with Projects](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/Demo-Working-with-Projects/page.md)
* [Sharing Variables with Variable Sets](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/Sharing-Variables-with-Variable-Sets/page.md)
* [Demo Creating Variable Sets](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/Demo-Creating-Variable-Sets/page.md)
* [HCP Terraform Teams Permissions](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/HCP-Terraform-Teams-Permissions/page.md)
* [Private Registry](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/Private-Registry/page.md)
* [Policy Enforcement using Sentinel OPA Part 1](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/Policy-Enforcement-using-Sentinel-OPA-Part-1/page.md)
* [Policy Enforcement using Sentinel OPA Part 2](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/Policy-Enforcement-using-Sentinel-OPA-Part-2/page.md)
* [Additional HCP Terraform Features](/docs/HashiCorp-Certified-Terraform-Associate-004/HCP-Terraform/Additional-HCP-Terraform-Features/page.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.