# Terraform ## Docs - [Cloud Integration](https://mintlify.wiki/hashicorp/terraform/advanced/cloud-integration.md): Learn how to integrate Terraform with HCP Terraform and Terraform Enterprise for remote operations, state management, and collaboration. - [Debugging Terraform](https://mintlify.wiki/hashicorp/terraform/advanced/debugging.md): Learn techniques and tools for debugging Terraform operations, including using Delve debugger, telemetry, and logging. - [Terraform Stacks](https://mintlify.wiki/hashicorp/terraform/advanced/stacks.md): Learn about Terraform Stacks, an orchestration layer for managing multiple Terraform modules and infrastructure components at scale. - [Testing Framework](https://mintlify.wiki/hashicorp/terraform/advanced/testing.md): Learn how to write and execute integration tests for Terraform configurations using the terraform test command. - [Dependency Resolution](https://mintlify.wiki/hashicorp/terraform/architecture/dependency-resolution.md): How Terraform analyzes configuration references and builds the dependency graph - [Graph Evaluation](https://mintlify.wiki/hashicorp/terraform/architecture/graph-evaluation.md): Deep dive into Terraform's graph algorithms and concurrent execution model - [Modules Runtime](https://mintlify.wiki/hashicorp/terraform/architecture/modules-runtime.md): Detailed architecture of Terraform's traditional module execution runtime - [Architecture Overview](https://mintlify.wiki/hashicorp/terraform/architecture/overview.md): High-level overview of Terraform's internal architecture and component interaction - [Plugin Protocol](https://mintlify.wiki/hashicorp/terraform/architecture/plugin-protocol.md): Specification of Terraform's gRPC-based provider plugin communication protocol - [Resource Lifecycle](https://mintlify.wiki/hashicorp/terraform/architecture/resource-lifecycle.md): Complete resource instance change lifecycle from planning to applying - [Stacks Runtime](https://mintlify.wiki/hashicorp/terraform/architecture/stacks-runtime.md): Architecture of Terraform's new orchestration layer for managing multiple Terraform modules - [Azure Backend](https://mintlify.wiki/hashicorp/terraform/backends/azure.md): Store Terraform state in Azure Blob Storage. - [Backend Configuration](https://mintlify.wiki/hashicorp/terraform/backends/configuration.md): Configure Terraform backends for state storage. - [Consul Backend](https://mintlify.wiki/hashicorp/terraform/backends/consul.md): Store Terraform state in HashiCorp Consul with native locking. - [COS Backend](https://mintlify.wiki/hashicorp/terraform/backends/cos.md): Store Terraform state in Tencent Cloud COS (Cloud Object Storage). - [GCS Backend](https://mintlify.wiki/hashicorp/terraform/backends/gcs.md): Store Terraform state in Google Cloud Storage. - [HTTP Backend](https://mintlify.wiki/hashicorp/terraform/backends/http.md): Store Terraform state via REST API endpoints. - [Kubernetes Backend](https://mintlify.wiki/hashicorp/terraform/backends/kubernetes.md): Store Terraform state in Kubernetes Secrets with Lease-based locking. - [Local Backend](https://mintlify.wiki/hashicorp/terraform/backends/local.md): Store Terraform state on the local filesystem. - [OCI Backend](https://mintlify.wiki/hashicorp/terraform/backends/oci.md): Store Terraform state in Oracle Cloud Infrastructure Object Storage. - [OSS Backend](https://mintlify.wiki/hashicorp/terraform/backends/oss.md): Store Terraform state in Alibaba Cloud OSS (Object Storage Service). - [Backends Overview](https://mintlify.wiki/hashicorp/terraform/backends/overview.md): Learn about Terraform backends for remote state storage and operations. - [Postgres Backend](https://mintlify.wiki/hashicorp/terraform/backends/postgres.md): Store Terraform state in a PostgreSQL database. - [S3 Backend](https://mintlify.wiki/hashicorp/terraform/backends/s3.md): Store Terraform state in Amazon S3 with DynamoDB locking. - [terraform apply](https://mintlify.wiki/hashicorp/terraform/cli/apply.md): Create or update infrastructure - [terraform console](https://mintlify.wiki/hashicorp/terraform/cli/console.md): The terraform console command provides an interactive console for evaluating expressions against the current Terraform state. - [terraform destroy](https://mintlify.wiki/hashicorp/terraform/cli/destroy.md): Destroy previously-created infrastructure - [terraform fmt](https://mintlify.wiki/hashicorp/terraform/cli/fmt.md): The terraform fmt command rewrites Terraform configuration files to a canonical format and style. - [terraform force-unlock](https://mintlify.wiki/hashicorp/terraform/cli/force-unlock.md): The terraform force-unlock command manually unlocks the state for the defined configuration. - [terraform get](https://mintlify.wiki/hashicorp/terraform/cli/get.md): The terraform get command downloads and updates modules mentioned in the root module. - [terraform graph](https://mintlify.wiki/hashicorp/terraform/cli/graph.md): The terraform graph command generates a visual representation of a configuration or execution plan. - [terraform import](https://mintlify.wiki/hashicorp/terraform/cli/import.md): The terraform import command imports existing infrastructure into your Terraform state. - [terraform init](https://mintlify.wiki/hashicorp/terraform/cli/init.md): Initialize a Terraform working directory - [terraform login](https://mintlify.wiki/hashicorp/terraform/cli/login.md): The terraform login command obtains and saves credentials for HCP Terraform or Terraform Enterprise. - [terraform logout](https://mintlify.wiki/hashicorp/terraform/cli/logout.md): The terraform logout command removes locally-stored credentials for HCP Terraform or Terraform Enterprise. - [terraform metadata](https://mintlify.wiki/hashicorp/terraform/cli/metadata.md): Parent command for metadata-related operations - [terraform metadata functions](https://mintlify.wiki/hashicorp/terraform/cli/metadata-functions.md): Show signatures and descriptions for the available functions - [terraform modules](https://mintlify.wiki/hashicorp/terraform/cli/modules.md): Show all declared modules in a working directory - [terraform output](https://mintlify.wiki/hashicorp/terraform/cli/output.md): The terraform output command extracts the value of an output variable from the state file. - [terraform plan](https://mintlify.wiki/hashicorp/terraform/cli/plan.md): Generate and show an execution plan - [terraform providers](https://mintlify.wiki/hashicorp/terraform/cli/providers.md): The terraform providers command shows the providers required for the current configuration. - [terraform providers lock](https://mintlify.wiki/hashicorp/terraform/cli/providers-lock.md): The terraform providers lock command writes out dependency locks for the configured providers. - [terraform providers mirror](https://mintlify.wiki/hashicorp/terraform/cli/providers-mirror.md): The terraform providers mirror command saves local copies of all required provider plugins. - [terraform providers schema](https://mintlify.wiki/hashicorp/terraform/cli/providers-schema.md): The terraform providers schema command shows schemas for the providers used in the configuration. - [terraform query](https://mintlify.wiki/hashicorp/terraform/cli/query.md): Search and list remote infrastructure with Terraform - [terraform refresh](https://mintlify.wiki/hashicorp/terraform/cli/refresh.md): The terraform refresh command reads the current settings from all managed remote objects and updates the Terraform state. - [terraform show](https://mintlify.wiki/hashicorp/terraform/cli/show.md): The terraform show command displays the current state or a saved plan. - [terraform stacks](https://mintlify.wiki/hashicorp/terraform/cli/stacks.md): Manage HCP Terraform stack operations - [terraform state identities](https://mintlify.wiki/hashicorp/terraform/cli/state-identities.md): List the identities of resources in the state - [terraform state list](https://mintlify.wiki/hashicorp/terraform/cli/state-list.md): List resources in the Terraform state. - [terraform state mv](https://mintlify.wiki/hashicorp/terraform/cli/state-mv.md): Move an item in the Terraform state. - [terraform state pull](https://mintlify.wiki/hashicorp/terraform/cli/state-pull.md): Pull current state and output to stdout. - [terraform state push](https://mintlify.wiki/hashicorp/terraform/cli/state-push.md): Update remote state from a local state file. - [terraform state replace-provider](https://mintlify.wiki/hashicorp/terraform/cli/state-replace-provider.md): Replace provider in the Terraform state. - [terraform state rm](https://mintlify.wiki/hashicorp/terraform/cli/state-rm.md): Remove instances from the Terraform state. - [terraform state show](https://mintlify.wiki/hashicorp/terraform/cli/state-show.md): Show the attributes of a resource in the Terraform state. - [terraform taint](https://mintlify.wiki/hashicorp/terraform/cli/taint.md): The terraform taint command marks a resource instance as not fully functional, forcing it to be destroyed and recreated on the next apply. - [terraform test](https://mintlify.wiki/hashicorp/terraform/cli/test.md): The terraform test command executes automated integration tests for Terraform modules. - [terraform untaint](https://mintlify.wiki/hashicorp/terraform/cli/untaint.md): The terraform untaint command removes the tainted state from a resource instance. - [terraform validate](https://mintlify.wiki/hashicorp/terraform/cli/validate.md): Validate the Terraform configuration files - [terraform version](https://mintlify.wiki/hashicorp/terraform/cli/version.md): The terraform version command displays the Terraform version and the versions of all installed provider plugins. - [terraform workspace delete](https://mintlify.wiki/hashicorp/terraform/cli/workspace-delete.md): The terraform workspace delete command deletes a workspace. - [terraform workspace list](https://mintlify.wiki/hashicorp/terraform/cli/workspace-list.md): The terraform workspace list command lists all existing workspaces. - [terraform workspace new](https://mintlify.wiki/hashicorp/terraform/cli/workspace-new.md): The terraform workspace new command creates a new workspace. - [terraform workspace select](https://mintlify.wiki/hashicorp/terraform/cli/workspace-select.md): The terraform workspace select command switches to a different workspace. - [terraform workspace show](https://mintlify.wiki/hashicorp/terraform/cli/workspace-show.md): The terraform workspace show command displays the name of the current workspace. - [Execution Plans](https://mintlify.wiki/hashicorp/terraform/concepts/execution-plans.md): Understanding how Terraform calculates, represents, and executes infrastructure changes - [Infrastructure as Code](https://mintlify.wiki/hashicorp/terraform/concepts/infrastructure-as-code.md): How Terraform implements declarative infrastructure management through code - [Core Concepts Overview](https://mintlify.wiki/hashicorp/terraform/concepts/overview.md): Understanding the fundamental architecture and design principles of Terraform Core - [Resource Graph](https://mintlify.wiki/hashicorp/terraform/concepts/resource-graph.md): How Terraform uses directed acyclic graphs to determine the correct order of operations - [State Management](https://mintlify.wiki/hashicorp/terraform/concepts/state-management.md): How Terraform tracks and manages infrastructure state - [Bug Report Process](https://mintlify.wiki/hashicorp/terraform/contributing/bug-reports.md): Understand how bug reports are triaged, labeled, and processed in the Terraform Core repository. - [Building Terraform from Source](https://mintlify.wiki/hashicorp/terraform/contributing/building.md): Instructions for building Terraform from source code, including prerequisites, build options, and platform-specific considerations. - [Code Style Guidelines](https://mintlify.wiki/hashicorp/terraform/contributing/code-style.md): Learn about Terraform's code style requirements, formatting tools, and static analysis checks that ensure code quality. - [Debugging Terraform](https://mintlify.wiki/hashicorp/terraform/contributing/debugging.md): Learn how to debug Terraform using Delve, VS Code, GoLand, and other debugging tools for both tests and live operations. - [Contributing to Terraform](https://mintlify.wiki/hashicorp/terraform/contributing/overview.md): Learn how to contribute to Terraform Core, including guidelines for proposing changes, submitting pull requests, and working with the community. - [Pull Request Guidelines](https://mintlify.wiki/hashicorp/terraform/contributing/pull-requests.md): Learn the pull request lifecycle, changelog requirements, and best practices for getting your contributions merged into Terraform. - [Testing Terraform](https://mintlify.wiki/hashicorp/terraform/contributing/testing.md): Learn how to run tests, write test cases, and understand Terraform's testing requirements for contributions. - [Installation](https://mintlify.wiki/hashicorp/terraform/installation.md): Learn how to install Terraform on your system and verify the installation. - [Introduction to Terraform](https://mintlify.wiki/hashicorp/terraform/introduction.md): Learn about Terraform, the infrastructure as code tool for building, changing, and versioning infrastructure safely and efficiently. - [Expressions](https://mintlify.wiki/hashicorp/terraform/language/expressions.md): Use expressions to compute and reference values in Terraform configurations. - [Built-in Functions](https://mintlify.wiki/hashicorp/terraform/language/functions.md): Reference for Terraform's built-in functions for data transformation and computation. - [Modules](https://mintlify.wiki/hashicorp/terraform/language/modules.md): Organize and reuse Terraform configurations with modules. - [Output Values](https://mintlify.wiki/hashicorp/terraform/language/outputs.md): Export values from Terraform configurations for external use and module composition. - [Configuration Language Overview](https://mintlify.wiki/hashicorp/terraform/language/overview.md): Learn about Terraform's HashiCorp Configuration Language (HCL) for defining infrastructure as code. - [Providers](https://mintlify.wiki/hashicorp/terraform/language/providers.md): Configure and use providers to interact with cloud platforms and services in Terraform. - [Resources](https://mintlify.wiki/hashicorp/terraform/language/resources.md): Define and manage infrastructure resources in Terraform configurations. - [Syntax](https://mintlify.wiki/hashicorp/terraform/language/syntax.md): Detailed syntax rules for Terraform's HashiCorp Configuration Language (HCL). - [Input Variables](https://mintlify.wiki/hashicorp/terraform/language/variables.md): Define and use input variables to parameterize Terraform configurations. - [Provider Configuration](https://mintlify.wiki/hashicorp/terraform/providers/configuration.md): Learn how to configure Terraform providers in your configuration files. - [Provider Development](https://mintlify.wiki/hashicorp/terraform/providers/development.md): Learn how to develop custom Terraform providers using the plugin protocol. - [Provider Installation](https://mintlify.wiki/hashicorp/terraform/providers/installation.md): Understand how Terraform installs, caches, and authenticates provider packages. - [Providers Overview](https://mintlify.wiki/hashicorp/terraform/providers/overview.md): Learn about Terraform providers, how they work, and their role in managing infrastructure resources. - [Quickstart Guide](https://mintlify.wiki/hashicorp/terraform/quickstart.md): Get started with Terraform in minutes by creating and managing your first infrastructure. - [State Backends](https://mintlify.wiki/hashicorp/terraform/state/backends.md): Understanding Terraform's backend system for state storage and workspace management - [Import Workflow](https://mintlify.wiki/hashicorp/terraform/state/import.md): Import existing infrastructure into Terraform state without modifying resources - [State Locking](https://mintlify.wiki/hashicorp/terraform/state/locking.md): Understanding Terraform's state locking mechanism to prevent concurrent modifications and ensure consistency - [State Manipulation Commands](https://mintlify.wiki/hashicorp/terraform/state/manipulation.md): Reference for Terraform state manipulation commands - list, show, mv, rm, and advanced operations - [State Management Overview](https://mintlify.wiki/hashicorp/terraform/state/overview.md): Understanding Terraform's state management system, state file structure, and core concepts - [Remote State Data Source](https://mintlify.wiki/hashicorp/terraform/state/remote-state.md): Access and reference output values from other Terraform configurations using remote state - [Apply](https://mintlify.wiki/hashicorp/terraform/workflow/apply.md): Create, update, or delete infrastructure using terraform apply to execute planned changes. - [Destroy](https://mintlify.wiki/hashicorp/terraform/workflow/destroy.md): Safely destroy Terraform-managed infrastructure using terraform destroy. - [Initialize](https://mintlify.wiki/hashicorp/terraform/workflow/initialize.md): Learn how to initialize a Terraform working directory with terraform init, including provider installation, module setup, and backend configuration. - [Plan](https://mintlify.wiki/hashicorp/terraform/workflow/plan.md): Generate and review Terraform execution plans to preview infrastructure changes before applying them. - [Workspaces](https://mintlify.wiki/hashicorp/terraform/workflow/workspaces.md): Manage multiple environments and state files using Terraform workspaces for development, staging, and production.