{"id":13449052,"url":"https://github.com/iann0036/former2","last_synced_at":"2025-04-27T03:55:56.280Z","repository":{"id":37587514,"uuid":"173295770","full_name":"iann0036/former2","owner":"iann0036","description":"Generate CloudFormation / Terraform / Troposphere templates from your existing AWS resources.","archived":false,"fork":false,"pushed_at":"2025-04-19T01:03:22.000Z","size":68696,"stargazers_count":2312,"open_issues_count":178,"forks_count":277,"subscribers_count":45,"default_branch":"master","last_synced_at":"2025-04-24T08:57:27.407Z","etag":null,"topics":["aws","cdk","cdktf","cloudformation","iac","pulumi","terraform","troposphere"],"latest_commit_sha":null,"homepage":"https://former2.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iann0036.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"iann0036"}},"created_at":"2019-03-01T12:06:47.000Z","updated_at":"2025-04-23T17:57:43.000Z","dependencies_parsed_at":"2024-01-23T23:24:36.973Z","dependency_job_id":"942745b7-933e-48aa-a6ed-93cd8e6afdf6","html_url":"https://github.com/iann0036/former2","commit_stats":{"total_commits":908,"total_committers":30,"mean_commits":"30.266666666666666","dds":"0.19273127753303965","last_synced_commit":"6eef01b148d7220d3514030260f7be60ec4b3953"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iann0036%2Fformer2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iann0036%2Fformer2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iann0036%2Fformer2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iann0036%2Fformer2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iann0036","download_url":"https://codeload.github.com/iann0036/former2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250838931,"owners_count":21495853,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cdk","cdktf","cloudformation","iac","pulumi","terraform","troposphere"],"created_at":"2024-07-31T06:00:29.568Z","updated_at":"2025-04-25T14:50:08.137Z","avatar_url":"https://github.com/iann0036.png","language":"JavaScript","funding_links":["https://github.com/sponsors/iann0036"],"categories":["JavaScript","Tools","Infrastructure as code","Other Awesome Lists","Uncategorized","aws","Authoring and Testing Tools"],"sub_categories":["Miscellaneous","Infrastructure as code generation","Infrastructure as Code (IaC)","Community providers","Uncategorized","Hooks"],"readme":"# Former2\n\n[![CloudFormation](https://img.shields.io/badge/CloudFormation-84%25-orange.svg)](RESOURCE_COVERAGE.md#cloudformation-resource-coverage) [![Terraform](https://img.shields.io/badge/Terraform-49%25-blue.svg)](RESOURCE_COVERAGE.md#terraform-coverage)\n\n\u003e Generate CloudFormation / Terraform / Troposphere templates from your existing AWS resources\n\n\n![Screenshot](img/screen1.png)\n\n![Screenshot](img/screen2.png)\n\n## Overview\n\nFormer2 allows you to generate Infrastructure-as-Code outputs from your existing resources within your AWS account. By making the relevant calls using the AWS JavaScript SDK, Former2 will scan across your infrastructure and present you with the list of resources for you to choose which to generate outputs for.\n\n## Installation\n\nThough [some AWS services](https://github.com/aws/aws-sdk-js/blob/master/SERVICES.md) do not require it, you will need to install the Former2 Helper browser extension in order to have support for all AWS services. The extension exists to bypass a lack of CORS on some services, such as S3 and IAM.\n\n[Install Former2 Helper for Google Chrome](https://chrome.google.com/webstore/detail/former2-helper/fhejmeojlbhfhjndnkkleooeejklmigi)\n\n[Install Former2 Helper for Mozilla Firefox](https://addons.mozilla.org/en-US/firefox/addon/former2-helper/)\n\n[Install Former2 Helper for Microsoft Edge](https://microsoftedge.microsoft.com/addons/detail/okkjnfohglnomdbpimkcdkiojbeiedof)\n\nAlternatively, you can [download and install](https://github.com/iann0036/former2-helper) the extension yourself.\n\n## Usage\n\nVisit [former2.com](https://former2.com/) to start.\n\nYou will need an [IAM key pair](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html) to authenticate your requests. If you are not planning on importing resources directly, it is recommended that you provide only read access with these credentials and suggest you assign the [ReadOnlyAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/ReadOnlyAccess) policy. If you intend to use the Import feature, you should grant appropriate permissions to create the stack.\n\nOnce authenticated you can navigate via the dashboard or sidebar to specific services, select the resources to add to your outputs and finally click the \"Generate\" button at the top of the screen.\n\nThe following outputs are currently supported:\n\n* CloudFormation\n* Terraform\n* Troposphere\n* CDK V1 (Cfn Primitives) - TypeScript, Python, Java, C#\n* CDK V2 (Cfn Primitives) - TypeScript, Python, Java, C#\n* CDK for Terraform - TypeScript\n* Pulumi - TypeScript\n* Diagram - embedded version of [draw.io](https://github.com/jgraph/drawio)\n\n### Former2 CLI\n\nA command-line version of Former2 with limited functionality is available for installation. For more information, see the [CLI instructions](cli/README.md).\n\n### LocalStack Support\n\nTo enable support for use against [LocalStack](https://docs.localstack.cloud/references/network-troubleshooting/endpoint-url/) endpoints, enable the setting in the Settings page, ensure you are using the Former2 Helper extension/add-on, and add the following [configuration](https://docs.localstack.cloud/references/configuration/) to LocalStack:\n\n_For Google Chrome:_\n```\nEXTRA_CORS_ALLOWED_ORIGINS=chrome-extension://fhejmeojlbhfhjndnkkleooeejklmigi\n```\n\n_For Mozilla Firefox:_\n```\nEXTRA_CORS_ALLOWED_ORIGINS=moz-extension://853c673f-1bd8-4226-a5ff-f1473f7b3d90\n```\n\n_For Microsoft Edge:_\n```\nEXTRA_CORS_ALLOWED_ORIGINS=extension://okkjnfohglnomdbpimkcdkiojbeiedof\n```\n\n## Security\n\nFormer2 does not create any resources within your AWS account.\n\nCalls to the AWS service API endpoints are made either directly with the JavaScript SDK or via the browser extension (which also hits endpoints directly). Resource data and your credentials are kept entirely in memory and is never sent over the internet or anywhere else. The credentials are only used to sign requests to AWS endpoints. You should take care to remove any sensitive data (passwords etc.) when sharing your generated code/templates with others.\n\nIf you prefer not to use a publicly hosted site to use Former2, you can [host your own version](HOSTING.md) by running a HTTP server from the root of the repository. Extension support will also be available if you host on 127.0.0.1 or localhost, otherwise you can [modify the extension](HOSTING.md) as needed.\n\n## Pricing\n\nThough Former2 is free to access or use locally, some [AWS services](https://aws.amazon.com/secrets-manager/pricing/) have small charges associated with API calls so usage may attract an extra couple cents to your AWS bill.\n\n## FAQ\n\n**Does this replace Console Recorder?**\n\n[Console Recorder](https://github.com/iann0036/AWSConsoleRecorder) still fills a certain gap and has features this tool does not support (such as Get/List outputs). I'll be maintaining both for as long as I can.\n\n**I found an issue / I'm missing an output / Something's wrong. Can you help?**\n\nIf you find a bug or want to raise a feature request, please do so via [the issues page](https://github.com/iann0036/former2/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiann0036%2Fformer2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiann0036%2Fformer2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiann0036%2Fformer2/lists"}