| action_secrets |
An (Optional) map of GitHub Actions secrets to create for this repository. The key is the name of the secret and the value is the encrypted value. |
map(string) |
{} |
no |
| advance_security |
Enables advance security for the repository. If repository is public advance_security is enabled by default and cannot be changed. |
bool |
true |
no |
| allow_auto_merge |
Allow auto-merging pull requests on the repository |
bool |
true |
no |
| allow_merge_commit |
(Optional) Set to false to disable merge commits on the repository. |
bool |
true |
no |
| allow_rebase_merge |
(Optional) Set to false to disable rebase merges on the repository. |
bool |
true |
no |
| allow_squash_merge |
(Optional) Set to false to disable squash merges on the repository. |
bool |
true |
no |
| codespace_secrets |
An (Optional) map of GitHub Codespace secrets to create for this repository. The key is the name of the secret and the value is the encrypted value. |
map(string) |
{} |
no |
| default_branch |
The branch to set as the default branch for this repository. Defaults to "main" |
string |
"main" |
no |
| delete_head_on_merge |
Sets the delete head on merge option for the repository. If true it will delete pull request branches automatically on merge. Defaults to true |
bool |
true |
no |
| dependabot_secrets |
An (Optional) map of Dependabot secrets to create for this repository. The key is the name of the secret and the value is the encrypted value. |
map(string) |
{} |
no |
| dependabot_security_updates |
Enables dependabot security updates. Only works when has_vulnerability_alerts is set because that is required to enable dependabot for the repository. |
bool |
true |
no |
| description |
The description to give to the repository. Defaults to "" |
string |
"" |
no |
| environments |
Environments to create for the repository. |
map(object({ wait_timer = optional(number) can_admins_bypass = optional(bool) prevent_self_review = optional(bool) action_secrets = optional(map(string)) reviewers = optional(object({ teams = optional(list(string)) users = optional(list(string)) })) deployment_branch_policy = optional(object({ protected_branches = bool custom_branch_policies = bool branch_patterns = list(string) })) })) |
{} |
no |
| has_ghas_license |
If the organization owning the repository has a GitHub Advanced Security license or not. Defaults to false. |
bool |
false |
no |
| homepage |
The homepage for the repository |
string |
"" |
no |
| license_template |
The (Optional) license template to apply to the repository |
string |
null |
no |
| merge_commit_message |
(Optional) Can be PR_BODY, PR_TITLE, or BLANK for a default merge commit message. Applicable only if allow_merge_commit is true. |
string |
"PR_TITLE" |
no |
| merge_commit_title |
(Optional) Can be PR_TITLE or MERGE_MESSAGE for a default merge commit title. Applicable only if allow_merge_commit is true. |
string |
"MERGE_MESSAGE" |
no |
| name |
The name of the repository to create/import. |
string |
n/a |
yes |
| pages |
The (Optional) configuration for GitHub Pages for the repository |
object({ source = optional(object({ branch = string path = optional(string) })) build_type = optional(string) cname = optional(string) }) |
null |
no |
| protected_branches |
A list of ref names or patterns that should be protected. Defaults ["main"] |
list(string) |
[ "main" ] |
no |
| repository_team_permissions |
A map where the keys are github team slugs and the value is the permissions the team should have in the repository |
map(string) |
n/a |
yes |
| repository_user_permissions |
A map where the keys are github usernames and the value is the permissions the user should have in the repository |
map(string) |
n/a |
yes |
| requires_web_commit_signing |
If set commit signatures are required for commits to the organization. Defaults to false. |
bool |
false |
no |
| rulesets |
n/a |
map(object({ bypass_actors = optional(object({ repository_roles = optional(list(object({ role = string always_bypass = optional(bool) }))) teams = optional(list(object({ team = string always_bypass = optional(bool) }))) integrations = optional(list(object({ installation_id = number always_bypass = optional(bool) }))) organization_admins = optional(list(object({ user = string always_bypass = optional(bool) }))) })) conditions = optional(object({ ref_name = object({ include = list(string) exclude = list(string) }) })) rules = object({ branch_name_pattern = optional(object({ operator = string pattern = string name = optional(string) negate = optional(bool) })) tag_name_pattern = optional(object({ operator = string pattern = string name = optional(string) negate = optional(bool) })) commit_author_email_pattern = optional(object({ operator = string pattern = string name = optional(string) negate = optional(bool) })) commit_message_pattern = optional(object({ operator = string pattern = string name = optional(string) negate = optional(bool) })) committer_email_pattern = optional(object({ operator = string pattern = string name = optional(string) negate = optional(bool) })) creation = optional(bool) deletion = optional(bool) update = optional(bool) non_fast_forward = optional(bool) required_linear_history = optional(bool) required_signatures = optional(bool) update_allows_fetch_and_merge = optional(bool) pull_request = optional(object({ dismiss_stale_reviews_on_push = optional(bool) require_code_owner_review = optional(bool) require_last_push_approval = optional(bool) required_approving_review_count = optional(number) required_review_thread_resolution = optional(bool) })) required_status_checks = optional(object({ required_check = list(object({ context = string integration_id = optional(number) })) strict_required_status_check_policy = optional(bool) })) required_deployment_environments = optional(list(string)) }) target = string enforcement = string })) |
{} |
no |
| squash_merge_commit_message |
(Optional) Can be PR_BODY, COMMIT_MESSAGES, or BLANK for a default squash merge commit message. Applicable only if allow_squash_merge is true. |
string |
"PR_BODY" |
no |
| squash_merge_commit_title |
(Optional) Can be PR_TITLE or COMMIT_OR_PR_TITLE for a default squash merge commit title. Applicable only if allow_squash_merge is true. |
string |
"PR_TITLE" |
no |
| template_repository |
A (Optional) list of template repositories to use for the repository |
object({ owner = string repository = string include_all_branches = bool }) |
null |
no |
| topics |
The topics to apply to the repository |
list(string) |
[] |
no |