Skip to content

altissimo-hq/terraform-github-organization

Repository files navigation

Requirements

Name Version
github >= 5.19.0

Providers

Name Version
github 5.21.1

Modules

No modules.

Resources

Name Type
github_membership.admins resource
github_membership.members resource
github_organization_settings.org resource
github_repository.repo resource
github_team.team resource
github_team_members.admins resource
github_organization.org data source
github_organization_teams.org data source
github_repositories.org data source
github_repository.repo data source

Inputs

Name Description Type Default Required
admins Map of GitHub Organization Admins list(string) [] no
members Map of GitHub Organization Members list(string) [] no
organization GitHub Organization Name string n/a yes
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)
topics = optional(list(string))
}))
{} no
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 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 GitHub Personal Access Token string n/a yes

Outputs

Name Description
description GitHub Organization Description
id GitHub Organization ID
login GitHub Organization Login
members GitHub Organization Members
name GitHub Organization Name
organization GitHub Organization Resource
organization_teams GitHub Organization Team Resource
plan GitHub Organization Plan
private_repositories GitHub Organization Private Repositories
public_repositories GitHub Organization Public Repositories
repositories GitHub Organization Repositories
repository_resources GitHub Organization Repository Resources
team_resources GitHub Organization Team Resources
teams GitHub Organization Teams
unmanaged_members GitHub Organization Unmanaged Members
unmanaged_repositories GitHub Organization Unmanaged Repositories
unmanaged_teams GitHub Organization Unmanaged Teams