{"id":22800836,"url":"https://github.com/colindembovsky/generate-gh-tf","last_synced_at":"2026-03-19T23:43:16.495Z","repository":{"id":181855860,"uuid":"667574583","full_name":"colindembovsky/generate-gh-tf","owner":"colindembovsky","description":"Sample showing generation of GitHub org settings using Terraform","archived":false,"fork":false,"pushed_at":"2023-07-17T20:31:44.000Z","size":2,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-05T22:19:28.931Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","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/colindembovsky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-07-17T20:28:48.000Z","updated_at":"2023-08-03T21:49:56.000Z","dependencies_parsed_at":"2023-07-17T21:51:44.881Z","dependency_job_id":null,"html_url":"https://github.com/colindembovsky/generate-gh-tf","commit_stats":null,"previous_names":["colindembovsky/generate-gh-tf"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colindembovsky%2Fgenerate-gh-tf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colindembovsky%2Fgenerate-gh-tf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colindembovsky%2Fgenerate-gh-tf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/colindembovsky%2Fgenerate-gh-tf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/colindembovsky","download_url":"https://codeload.github.com/colindembovsky/generate-gh-tf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246367782,"owners_count":20765930,"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":[],"created_at":"2024-12-12T08:08:11.445Z","updated_at":"2026-01-08T05:48:03.039Z","avatar_url":"https://github.com/colindembovsky.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Generate TF for Org Settings from Terraform\n\nThis demo shows how you can generate config for GH Provider.\n\n## Steps\n\n1. Clone repo\n2. Update `owner` in [providers.tf](providers.tf) and `id` in [import-org.tf](import-org.tf) to the org you want to import\n3. Create a PAT with at least `admin:org -\u003e read`\n4. Run `export TF_VAR_github_token=\u003cPAT\u003e` to set the PAT in the environment vars\n5. Run `tf init` (requires `tf` version \u003e= 1.5)\n6. Run `plan -generate-config-out=generated_org.tf` to generate config\n\nFrom there, you should see reverse-engineered settings for the `org` resource in the `generated_org` file. Copy these contents to a \"real\" tf file and manage the org settings from there.\n\n### Sample output\n\n```hcl\n# __generated__ by Terraform\n# Please review these resources and move them into your main configuration files.\n\n# __generated__ by Terraform from \"colinsalmcorner\"\nresource \"github_organization_settings\" \"org\" {\n  advanced_security_enabled_for_new_repositories               = false\n  billing_email                                                = \"\"\n  blog                                                         = \"https://colinsalmcorner.com\"\n  company                                                      = null\n  default_repository_permission                                = null\n  dependabot_alerts_enabled_for_new_repositories               = false\n  dependabot_security_updates_enabled_for_new_repositories     = false\n  dependency_graph_enabled_for_new_repositories                = false\n  description                                                  = null\n  email                                                        = null\n  has_organization_projects                                    = true\n  has_repository_projects                                      = true\n  location                                                     = null\n  members_can_create_internal_repositories                     = false\n  members_can_create_pages                                     = true\n  members_can_create_private_pages                             = true\n  members_can_create_private_repositories                      = true\n  members_can_create_public_pages                              = true\n  members_can_create_public_repositories                       = true\n  members_can_create_repositories                              = true\n  members_can_fork_private_repositories                        = false\n  name                                                         = \"Colin's ALM Corner\"\n  secret_scanning_enabled_for_new_repositories                 = false\n  secret_scanning_push_protection_enabled_for_new_repositories = false\n  twitter_username                                             = null\n  web_commit_signoff_required                                  = false\n}\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolindembovsky%2Fgenerate-gh-tf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcolindembovsky%2Fgenerate-gh-tf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcolindembovsky%2Fgenerate-gh-tf/lists"}