> 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/use-iacm.md).

# Use IaCM

- [IaC Provisioners](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iac-provisioners.md): Configure OpenTofu, Terraform, and AWS CDK as IaC provisioners in Harness IaCM pipelines.
- [OpenTofu](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iac-provisioners/opentofu.md): Set up and run OpenTofu provisioning through Harness IaCM pipelines.
- [Set Up OpenTofu Provisioner](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iac-provisioners/opentofu/setup-opentofu-provisioner.md): Run your first OpenTofu provision and add production-ready features like approval gates, cost estimation, and variable management.
- [State Management](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iac-provisioners/opentofu/state-management.md): Understand how Harness IaCM manages OpenTofu state and how to work with existing state.
- [Default pipelines for OpenTofu](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iac-provisioners/opentofu/default-pipelines.md): Configure and run default pipelines for OpenTofu workspaces in Harness IaCM.
- [OpenTofu plugin commands](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iac-provisioners/opentofu/plugin-commands.md): Reference for all OpenTofu plugin commands available in Harness IaCM pipelines.
- [Local CLI plan for OpenTofu](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iac-provisioners/opentofu/local-cli-plan.md): Run local OpenTofu plans using the Harness CLI while leveraging remote secrets and workspace configuration.
- [Remove and import resources with OpenTofu](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iac-provisioners/opentofu/remove-import-resources.md): Use OpenTofu import and removed blocks to transfer resource management between workspaces without destroying infrastructure.
- [Custom images for OpenTofu](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iac-provisioners/opentofu/custom-images.md): Use custom plugin images for OpenTofu workspaces when you need additional tooling or restricted network access.
- [AWS CDK](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iac-provisioners/aws-cdk.md): Set up and run AWS CDK workloads through Harness IaCM pipelines.
- [Set up the AWS CDK Provisioner](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iac-provisioners/aws-cdk/set-up-cdk-provisioner.md): Learn how AWS CDK works in Harness IaCM and set up a CDK workspace, connector, repository, language runtime, and deploy pipeline.
- [CDK Pipeline Steps](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iac-provisioners/aws-cdk/cdk-pipeline-steps.md): Reference for the bootstrap, synth, diff, deploy, destroy, drift, and approval steps available in Harness IaCM CDK pipelines.
- [Configuration Management](https://developer.harness.io/infrastructure-as-code-management/use-iacm/configuration-management.md): Understand how Ansible fits into Harness IaCM, core concepts for newcomers, and how inventories, playbooks, and pipelines work together.
- [Get Started With Ansible](https://developer.harness.io/infrastructure-as-code-management/use-iacm/configuration-management/get-started.md): Create inventories and playbooks, then run Ansible from an IaCM pipeline using the IACMAnsiblePlugin step.
- [Create Ansible Inventories](https://developer.harness.io/infrastructure-as-code-management/use-iacm/configuration-management/inventories.md): Create static, dynamic, plugin, and remote Ansible inventories in Harness IaCM, configure dynamic sources from workspace resources, and filter hosts with attribute conditions.
- [Manage Hosts and Groups](https://developer.harness.io/infrastructure-as-code-management/use-iacm/configuration-management/inventories/hosts.md): Add hosts to Ansible inventories in Harness IaCM, organize them into groups, and attach host, group, and connection variables.
- [Create Ansible Playbooks](https://developer.harness.io/infrastructure-as-code-management/use-iacm/configuration-management/playbooks.md): Register Git-backed Ansible playbooks in Harness IaCM, attach playbook variables, and install Ansible Galaxy dependencies from a requirements file.
- [Authenticate Private Ansible Galaxy Content](https://developer.harness.io/infrastructure-as-code-management/use-iacm/configuration-management/playbooks/authenticate-private-collections.md): Authenticate to private Ansible Galaxy servers, Automation Hub, private Git collection sources, and .netrc credentials during ansible-galaxy installs in Harness IaCM.
- [Manage Playbook Dependencies](https://developer.harness.io/infrastructure-as-code-management/use-iacm/configuration-management/playbooks/manage-dependencies.md): Provide Python packages and other dependencies to your Ansible playbooks using runtime installation or pre-built images.
- [Runtime Installation for Ansible](https://developer.harness.io/infrastructure-as-code-management/use-iacm/configuration-management/playbooks/manage-dependencies/runtime-installation.md): Install Python packages at the start of each pipeline run using a requirements.txt file for Ansible playbooks.
- [Pre-built Images for Ansible](https://developer.harness.io/infrastructure-as-code-management/use-iacm/configuration-management/playbooks/manage-dependencies/pre-built-images.md): Pre-build a custom Ansible execution environment image with dependencies baked in for faster, reproducible pipeline runs.
- [Output Variables for Ansible](https://developer.harness.io/infrastructure-as-code-management/use-iacm/configuration-management/output-variables-for-ansible.md): Configure output variables to export data from Ansible playbooks to other pipeline steps.
- [Managing Large Ansible Outputs](https://developer.harness.io/infrastructure-as-code-management/use-iacm/configuration-management/managing-large-outputs.md): Understand how the Ansible plugin manages large playbook outputs through truncation and file export.
- [Enforce OPA Policies on Ansible Pipelines](https://developer.harness.io/infrastructure-as-code-management/use-iacm/configuration-management/opa-policies.md): Use Harness Policy As Code to govern Ansible pipelines, including required approval steps, approved inventories, and mandatory timeouts.
- [Example Ansible Use Cases](https://developer.harness.io/infrastructure-as-code-management/use-iacm/configuration-management/example-use-cases.md): Apply Harness IaCM Ansible integration to web fleets, database patching, multi-environment configuration, Kubernetes node bootstrap, and compliance hardening.
- [Use Variable Files with Ansible](https://developer.harness.io/infrastructure-as-code-management/use-iacm/configuration-management/variable-files.md): Provide variable files to Ansible playbooks when running through Harness IaCM via repository conventions, plugin inventories, or dedicated variables repositories.
- [Remote Backends](https://developer.harness.io/infrastructure-as-code-management/use-iacm/remote-backends.md): Connect IaCM workspaces to remote state backends such as S3, GCS, and Azure Blob Storage.
- [Initialization](https://developer.harness.io/infrastructure-as-code-management/use-iacm/remote-backends/init-configuration.md): Initialize your infrastructure dynamically with environment variables
- [Use Existing Remote State](https://developer.harness.io/infrastructure-as-code-management/use-iacm/remote-backends/use-backends.md): Learn how to reuse existing remote state backends in IaCM.
- [State Migration](https://developer.harness.io/infrastructure-as-code-management/use-iacm/remote-backends/state-migration.md): Migrate OpenTofu and Terraform state into Harness IaCM, or move it out to an external backend you control.
- [CLI Commands](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iacm-cli-commands.md): Use the Harness CLI for local IaCM plan operations and Terraform plugin management.
- [Harness CLI for IaCM](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iacm-cli-commands/harness-cli.md): Install, authenticate, and run the Harness CLI to manage IaCM workspaces from your terminal.
- [Tofu/Terraform Plugin Commands](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iacm-cli-commands/terraform-plugins.md): Reference for OpenTofu and Terraform commands available in Harness IaCM pipelines, including plan flags, drift detection, and state management commands.
- [Local CLI Plan](https://developer.harness.io/infrastructure-as-code-management/use-iacm/iacm-cli-commands/cli-iacm-plan.md): Upload local Terraform or OpenTofu code to Harness and run a plan using workspace secrets and configuration.
