Skip to content

Latest commit

 

History

History
60 lines (49 loc) · 10.6 KB

File metadata and controls

60 lines (49 loc) · 10.6 KB

Requirements

Name Version
terraform >= 1.6
github ~> 6.0

Providers

No providers.

Modules

Name Source Version
repository_base ../repository_base n/a

Resources

No resources.

Inputs

Name Description Type Default Required
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

Outputs

Name Description
id The ID of the repository