https://github.com/altissimo-hq/terraform-github-organization
Manages a GitHub Organization, Members, Teams, and Repositories
https://github.com/altissimo-hq/terraform-github-organization
github organization terraform terraform-modules
Last synced: 3 months ago
JSON representation
Manages a GitHub Organization, Members, Teams, and Repositories
- Host: GitHub
- URL: https://github.com/altissimo-hq/terraform-github-organization
- Owner: altissimo-hq
- License: gpl-3.0
- Created: 2023-04-09T19:11:59.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-04-29T17:40:47.000Z (about 3 years ago)
- Last Synced: 2025-07-29T00:27:53.395Z (11 months ago)
- Topics: github, organization, terraform, terraform-modules
- Language: HCL
- Homepage: https://registry.terraform.io/modules/altissimo-hq/organization/github/latest
- Size: 34.2 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
## Requirements
| Name | Version |
|------|---------|
| [github](#requirement\_github) | >= 5.19.0 |
## Providers
| Name | Version |
|------|---------|
| [github](#provider\_github) | >= 5.19.0 |
## Modules
No modules.
## Resources
| Name | Type |
|------|------|
| [github_membership.admins](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/membership) | resource |
| [github_membership.members](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/membership) | resource |
| [github_organization_settings.org](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/organization_settings) | resource |
| [github_repository.repo](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository) | resource |
| [github_team.team](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/team) | resource |
| [github_team_members.team](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/team_members) | resource |
| [github_team_repository.team_repo](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/team_repository) | resource |
| [github_organization.org](https://registry.terraform.io/providers/integrations/github/latest/docs/data-sources/organization) | data source |
| [github_organization_teams.org](https://registry.terraform.io/providers/integrations/github/latest/docs/data-sources/organization_teams) | data source |
| [github_repositories.org](https://registry.terraform.io/providers/integrations/github/latest/docs/data-sources/repositories) | data source |
| [github_repository.repo](https://registry.terraform.io/providers/integrations/github/latest/docs/data-sources/repository) | data source |
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [admins](#input\_admins) | Map of GitHub Organization Admins | `list(string)` | `[]` | no |
| [members](#input\_members) | Map of GitHub Organization Members | `list(string)` | `[]` | no |
| [organization](#input\_organization) | GitHub Organization Name | `string` | n/a | yes |
| [repositories](#input\_repositories) | Map of GitHub Repos to Create |
map(object({
description = optional(string)
homepage_url = optional(string)
visibility = optional(string)
has_downloads = optional(bool) # deprecated
has_issues = optional(bool)
has_projects = optional(bool)
has_wiki = optional(bool)
gitignore_template = optional(string)
license_template = optional(string)
vulnerability_alerts = optional(bool)
pages = optional(bool)
pages_cname = optional(string)
pages_path = optional(string)
topics = optional(list(string))
teams = optional(map(string)) # team name -> permission (pull, push, maintain, admin)
})) | `{}` | no |
| [settings](#input\_settings) | Map of GitHub Organization Settings | object({
billing_email = optional(string)
blog = optional(string)
company = optional(string)
description = optional(string)
email = optional(string)
location = optional(string)
name = optional(string)
twitter_username = optional(string)
has_organization_projects = optional(bool)
has_repository_projects = optional(bool)
default_repository_permission = optional(string)
members_can_create_internal_repositories = optional(bool)
members_can_create_pages = optional(bool)
members_can_create_private_pages = optional(bool)
members_can_create_private_repositories = optional(bool)
members_can_create_public_pages = optional(bool)
members_can_create_public_repositories = optional(bool)
members_can_create_repositories = optional(bool)
members_can_fork_private_repositories = optional(bool)
web_commit_signoff_required = optional(bool)
advanced_security_enabled_for_new_repositories = optional(bool)
dependabot_alerts_enabled_for_new_repositories = optional(bool)
dependabot_security_updates_enabled_for_new_repositories = optional(bool)
dependency_graph_enabled_for_new_repositories = optional(bool)
secret_scanning_enabled_for_new_repositories = optional(bool)
secret_scanning_push_protection_enabled_for_new_repositories = optional(bool)
}) | `null` | no |
| [teams](#input\_teams) | Map of GitHub Teams to Create | map(object({
description = optional(string)
privacy = optional(string)
parent_team_id = optional(string)
create_default_maintainer = optional(bool)
maintainers = optional(list(string))
members = optional(list(string))
})) | `{}` | no |
| [token](#input\_token) | GitHub Personal Access Token | `string` | n/a | yes |
## Outputs
| Name | Description |
|------|-------------|
| [description](#output\_description) | GitHub Organization Description |
| [id](#output\_id) | GitHub Organization ID |
| [login](#output\_login) | GitHub Organization Login |
| [members](#output\_members) | GitHub Organization Members |
| [name](#output\_name) | GitHub Organization Name |
| [organization](#output\_organization) | GitHub Organization Resource |
| [organization\_teams](#output\_organization\_teams) | GitHub Organization Team Resource |
| [plan](#output\_plan) | GitHub Organization Plan |
| [private\_repositories](#output\_private\_repositories) | GitHub Organization Private Repositories |
| [public\_repositories](#output\_public\_repositories) | GitHub Organization Public Repositories |
| [repositories](#output\_repositories) | GitHub Organization Repositories |
| [repository\_resources](#output\_repository\_resources) | GitHub Organization Repository Resources |
| [team\_resources](#output\_team\_resources) | GitHub Organization Team Resources |
| [teams](#output\_teams) | GitHub Organization Teams |
| [unmanaged\_members](#output\_unmanaged\_members) | GitHub Organization Unmanaged Members |
| [unmanaged\_repositories](#output\_unmanaged\_repositories) | GitHub Organization Unmanaged Repositories |
| [unmanaged\_teams](#output\_unmanaged\_teams) | GitHub Organization Unmanaged Teams |