variable "repository" {
  type        = string
  description = "The GitHub repository name."
}

variable "branch_protection" {
  type = list(object({
    branch                 = string,
    enforce_admins         = bool,
    require_signed_commits = bool,
    required_status_checks = object({
      strict   = bool,
      contexts = list(string)
    }),
    required_pull_request_reviews = object({
      dismiss_stale_reviews           = bool,
      dismissal_users                 = list(string),
      dismissal_teams                 = list(string),
      require_code_owner_reviews      = bool,
      required_approving_review_count = number
    }),
    restrictions = object({ teams = list(string), users = list(string) }),
  }))
  description = "The list of permissions. If empty only owner has access."
  default     = []
}
