# googlecloudplatform/terraformer

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/googlecloudplatform-terraformer).**

14,551 stars · 1,836 forks · Go · Apache-2.0 · archived

## Links

- GitHub: https://github.com/GoogleCloudPlatform/terraformer
- awesome-repositories: https://awesome-repositories.com/repository/googlecloudplatform-terraformer.md

## Topics

`aws` `cloud` `gcp` `golang` `google-cloud` `hcl` `infrastructure-as-code` `kubernetes` `terraform` `terraform-configurations`

## Description

Terraformer is a reverse engineering tool and infrastructure-to-code generator that transforms existing live cloud resources into declarative configuration files and state manifests. It functions as a cloud infrastructure exporter, allowing users to extract resource metadata from cloud providers to create reproducible infrastructure deployments.

The tool specializes in reverse engineering by querying cloud provider APIs to map active resource configurations and translate them into Terraform resource blocks. It supports infrastructure state recovery by reconstructing state files from live environments when original configurations are missing, and enables the migration of manually created cloud assets into version-controlled code.

The system includes capabilities for resource import filtering and import planning to isolate specific cloud objects by type, name, or attribute. It also provides hierarchical file organization to arrange generated code into service-based folder structures and supports remote state management for uploading state files to cloud storage.

## Tags

### DevOps & Infrastructure

- [Infrastructure as Code](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/infrastructure-as-code.md) — Converts manually created cloud resources into Terraform configuration files for version control and automated management.
- [Infrastructure State Export](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure-deployment/managed-infrastructure-deployment/infrastructure-deployment-provisioning/declarative-infrastructure-provisioning/infrastructure-state-export.md) — Reconstructs Terraform state files from a live cloud environment when original configuration files are lost.
- [Resource Import Utilities](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure-deployment/managed-infrastructure-deployment/infrastructure-deployment-provisioning/declarative-infrastructure-provisioning/terraform-provisioning/resource-import-utilities.md) — Provides a utility for selecting and importing specific cloud objects into Terraform state and configuration files.
- [Reverse Engineering Tooling](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure-deployment/managed-infrastructure-deployment/infrastructure-deployment-provisioning/declarative-infrastructure-provisioning/terraform-provisioning/reverse-engineering-tooling.md) — Generates Terraform configuration files and state from existing live cloud infrastructure.
- [Cloud Infrastructure Exporters](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure-exporters.md) — Extracts resource metadata from cloud providers to create reproducible infrastructure deployments.
- [Cloud Resource Discovery](https://awesome-repositories.com/f/devops-infrastructure/cloud-resource-discovery.md) — Provides mechanisms for programmatically identifying and fetching the state of existing cloud infrastructure resources via provider APIs.
- [Resource Onboarding Workflows](https://awesome-repositories.com/f/devops-infrastructure/cloud-resource-discovery/resource-onboarding-workflows.md) — Brings existing cloud objects into a Terraform project by filtering for specific resource types or names.
- [Live-to-Code Generation](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-as-code-templates/live-to-code-generation.md) — Converts live cloud resources into configuration files and state to transform manual infrastructure into manageable code. ([source](https://cdn.jsdelivr.net/gh/googlecloudplatform/terraformer@master/README.md))
- [Cloud Resource Inventory](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-resource-management/cloud-resource-inventory.md) — Transforms raw lists of deployed cloud resources into an organized inventory of manageable infrastructure code.
- [Infrastructure State Reconstructions](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-state-reconstructions.md) — Generates a Terraform state file by mirroring the current live attributes of the discovered cloud resources.
- [Infrastructure-to-Code Generators](https://awesome-repositories.com/f/devops-infrastructure/infrastructure-to-code-generators.md) — Transforms manually created cloud resources into declarative code for version control.
- [Reverse Infrastructure Engineering](https://awesome-repositories.com/f/devops-infrastructure/reverse-infrastructure-engineering.md) — Generates Terraform state and code from existing live infrastructure to document a current environment.
- [Import Filtering Logic](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/infrastructure-as-code/resource-imports/import-filtering-logic.md) — Filters existing infrastructure by type, name, or attribute to import a specific subset of cloud objects. ([source](https://cdn.jsdelivr.net/gh/googlecloudplatform/terraformer@master/README.md))
- [Import Planning Manifests](https://awesome-repositories.com/f/devops-infrastructure/infrastructure/infrastructure-as-code/resource-imports/import-planning-manifests.md) — Creates a manifest of resources for import to review or modify before executing the final process. ([source](https://cdn.jsdelivr.net/gh/googlecloudplatform/terraformer@master/README.md))

### Software Engineering & Architecture

- [Provider Schema Translations](https://awesome-repositories.com/f/software-engineering-architecture/unified-data-modeling/provider-schema-translations.md) — Translates cloud-specific API responses into Terraform resource blocks using provider-defined mapping logic.

### Content Management & Publishing

- [Infrastructure Resource Filters](https://awesome-repositories.com/f/content-management-publishing/content-import-filters/infrastructure-resource-filters.md) — Uses user-defined attributes or types to isolate specific cloud objects during the discovery and import phase.

### Development Tools & Productivity

- [Infrastructure Configuration Templates](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/project-scaffolding-configuration/templating-engines/dynamic-templates/infrastructure-configuration-templates.md) — Produces HCL configuration files by populating predefined templates with extracted resource metadata.
