An open API service indexing awesome lists of open source software.

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

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 |