| name |
The name of the repository. |
string |
n/a |
yes |
| allow_merge_commit |
Allow merge commits. |
bool |
true |
no |
| allow_rebase_merge |
Allow rebase merge. |
bool |
true |
no |
| allow_squash_merge |
Allow squash merge. |
bool |
true |
no |
| archive_on_destroy |
Set to true to archive the repository instead of deleting on destroy. |
bool |
false |
no |
| auto_init |
Set to true to produce an initial commit in the repository. |
bool |
false |
no |
| branch_delete_on_merge |
Automatically delete branch after a pull request is merged. |
bool |
false |
no |
| branch_protection |
Enable branch protection. For private repos, it is only available on the paid plan. |
bool |
false |
no |
| branch_protection_enforce_admins |
Enforce admins on branch protection. |
bool |
true |
no |
| branch_review_count |
Number of required reviews before merging pull requests. |
number |
0 |
no |
| branch_status_checks |
List of status checks required before merging pull requests. |
list(string) |
[] |
no |
| deploy_keys |
Map of repository deploy keys. You can pass sensitive values by setting the ssh_key value to sensitive::key where key refers to a value in sensitive_inputs. |
map(object({ title = string ssh_key = string read_only = optional(bool) })) |
{} |
no |
| description |
A description of the repository. |
string |
null |
no |
| dotfiles_first |
If .* (.github) files at the root of the repo should be added first. |
bool |
false |
no |
| files |
Files to add to the repository's default branch. These files can be modified outside of Terraform. |
map(string) |
{} |
no |
| files_strict |
Files to add to the repository's default branch. These files are tracked by Terraform to make sure their content always matches the configuration. |
map(string) |
{} |
no |
| has_issues |
Set to true to enable the GitHub Issues features on the repository. |
bool |
true |
no |
| has_projects |
Set to true to enable the GitHub Projects features on the repository. |
bool |
true |
no |
| has_wiki |
Set to true to enable the GitHub Wiki features on the repository. |
bool |
null |
no |
| homepage_url |
URL of a page describing the project. |
string |
null |
no |
| is_template |
Repository is a template repository. |
bool |
false |
no |
| issue_labels |
Map of labels and their colors to add to the repository. In the format { "label" = "FFFFFF" } |
map(string) |
{} |
no |
| private |
Set to true to create a private repository. |
bool |
true |
no |
| repo_exists |
Set to true if the repository already exists. |
bool |
false |
no |
| secrets |
Secrets to be added to the repo. You can pass sensitive values by setting the secret value to sensitive::key where key refers to a value in sensitive_inputs. |
map(string) |
{} |
no |
| sensitive_inputs |
Values that should be marked as sensitive. Supported by secrets, deploy_keys. |
map(string) |
{} |
no |
| team_permissions |
Teams access levels. |
object({ pull = optional(list(string)) triage = optional(list(string)) push = optional(list(string)) maintain = optional(list(string)) admin = optional(list(string)) }) |
{} |
no |
| teams |
Map of GitHub teams. |
map(object({ id = string node_id = string })) |
{} |
no |
| template |
Template to use when creating repository. |
string |
null |
no |
| topics |
The list of topics of the repository. |
set(string) |
[] |
no |
| vulnerability_alerts |
Set to true to enable security alerts for vulnerable dependencies. Enabling requires alerts to be enabled on the owner level. |
bool |
null |
no |