> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/infrastructure-as-code-management/readme.md).

# Infrastructure as Code Management

Harness Infrastructure as Code allows you to define, deploy, and manage infrastructure across environments, ensuring compliance and control. Key features include cost estimation, approval steps, PR automation, policy enforcement, and drift detection, which can integrate seamlessly with other Harness modules and third-party services, enhancing your DevOps lifecycle.

<figure><img src="https://developer.harness.io/img/iacm_landing.png" alt=""><figcaption></figcaption></figure>

### Get started

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>What's supported</strong></td><td>Find details on supported Infrastructure as Code tools, providers and frameworks like OpenTofu and Terraform.</td><td><a href="/pages/fEN58kDoQeD5ztNgh4n2">/pages/fEN58kDoQeD5ztNgh4n2</a></td></tr><tr><td><strong>Onboarding</strong></td><td>Get onboarded with Harness Infrastructure as Code Management.</td><td><a href="/pages/13Oqw5qhSvsXSpzVztiw">/pages/13Oqw5qhSvsXSpzVztiw</a></td></tr><tr><td><strong>Overview &#x26; key concepts</strong></td><td>Learn about Harness Infrastructure as Code Management.</td><td><a href="/pages/dAjsdwi5LQGa5JnpE70K">/pages/dAjsdwi5LQGa5JnpE70K</a></td></tr></tbody></table>

### IaCM fundamentals and tutorials

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Create a Workspace</strong></td><td>Learn how to create a workspace</td><td><a href="/pages/TKOFlXWaXD5HWd8PVj7N">/pages/TKOFlXWaXD5HWd8PVj7N</a></td></tr><tr><td><strong>Provision and destroy workspaces</strong></td><td>Learn how to provision and destroy workspaces.</td><td><a href="/pages/oONfFau1k91BJawWJDdp">/pages/oONfFau1k91BJawWJDdp</a></td></tr><tr><td><strong>Review workspace resources, states, and execution history</strong></td><td>Explore the details of a workspace.</td><td><a href="/pages/HGQBD1w8x0u3ZL21iQfs">/pages/HGQBD1w8x0u3ZL21iQfs</a></td></tr></tbody></table>

### Feature highlights

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Approval Step</strong></td><td>Learn how to use the approval step to review resource changes before applying them.</td><td><a href="/pages/DD9amull19vOd1ckp36o">/pages/DD9amull19vOd1ckp36o</a></td></tr><tr><td><strong>PR Automation</strong></td><td>Learn how to set up a PR pipeline for infrastructure changes.</td><td><a href="/pages/vTGctadZV6WT3hc26eVs">/pages/vTGctadZV6WT3hc26eVs</a></td></tr><tr><td><strong>Cost Estimation</strong></td><td>Learn how to get cost estimation for infrastructure changes.</td><td><a href="/pages/mxvKwZMY2bOsPRAxe0MY">/pages/mxvKwZMY2bOsPRAxe0MY</a></td></tr><tr><td><strong>Using OPA Policies with IaCM</strong></td><td>Learn how to use OPA to add security and governance to your IaCM pipeline.</td><td><a href="/pages/BkzXnrCQxC8iiSYBEdcm">/pages/BkzXnrCQxC8iiSYBEdcm</a></td></tr><tr><td><strong>Drift Detection</strong></td><td>Learn how to detect and get notified on drift.</td><td><a href="/pages/7Llqi1adOKGqRWzxln4E">/pages/7Llqi1adOKGqRWzxln4E</a></td></tr><tr><td><strong>Workspace Permissions and Access Control</strong></td><td>Learn how to apply permissions and access controls on Workspaces</td><td><a href="/pages/15KY5nzp2pervQQ6iTYz">/pages/15KY5nzp2pervQQ6iTYz</a></td></tr></tbody></table>

### Advanced topics

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Using output parameter</strong></td><td>Learn how to use Terraform output variables in the pipeline</td><td><a href="/pages/4AFgYizPEfXeBwnFWmLy">/pages/4AFgYizPEfXeBwnFWmLy</a></td></tr><tr><td><strong>Use the Harness Delegate with IaCM</strong></td><td>Learn how the Harness Delegate works with IaCM.</td><td><a href="/pages/Osbagtem5wnjg19xu1pV">/pages/Osbagtem5wnjg19xu1pV</a></td></tr></tbody></table>
