| <a name="input_rulesets"></a> [rulesets](#input\_rulesets) | A map of rulesets to configure for the repository | <pre>map(object({<br/> name = string<br/> // disabled, active, evaluate<br/> enforcement = string<br/> // branch, tag, push<br/> target = string<br/> bypass_actors = optional(list(object({<br/> // always, pull_request, exempt<br/> bypass_mode = string<br/> actor_id = optional(string, null)<br/> // RepositoryRole, Team, Integration, OrganizationAdmin, DeployKey<br/> actor_type = string<br/> })), [])<br/> // conditions is required for branch and tag rulesets, but not supported for push rulesets<br/> conditions = optional(object({<br/> ref_name = object({<br/> // Supports ~DEFAULT_BRANCH or ~ALL<br/> include = optional(list(string), [])<br/> exclude = optional(list(string), [])<br/> })<br/> }), null)<br/> rules = object({<br/> branch_name_pattern = optional(object({<br/> // starts_with, ends_with, contains, regex<br/> operator = string<br/> pattern = string<br/> name = optional(string, null)<br/> negate = optional(bool, false)<br/> }), null),<br/> commit_author_email_pattern = optional(object({<br/> // starts_with, ends_with, contains, regex<br/> operator = string<br/> pattern = string<br/> name = optional(string, null)<br/> negate = optional(bool, false)<br/> }), null),<br/> creation = optional(bool, false),<br/> deletion = optional(bool, false),<br/> non_fast_forward = optional(bool, false),<br/> required_linear_history = optional(bool, false),<br/> required_signatures = optional(bool, false),<br/> update = optional(bool, false),<br/> update_allows_fetch_and_merge = optional(bool, false),<br/> required_pull_request_reviews = optional(object({<br/> dismiss_stale_reviews = bool<br/> required_approving_review_count = number<br/> }), null),<br/> commit_message_pattern = optional(object({<br/> // starts_with, ends_with, contains, regex<br/> operator = string<br/> pattern = string<br/> name = optional(string, null)<br/> negate = optional(bool, false)<br/> }), null),<br/> committer_email_pattern = optional(object({<br/> // starts_with, ends_with, contains, regex<br/> operator = string<br/> pattern = string<br/> name = optional(string, null)<br/> negate = optional(bool, false)<br/> }), null),<br/> merge_queue = optional(object({<br/> check_response_timeout_minutes = optional(number, 60)<br/> // ALLGREEN, HEADGREEN<br/> grouping_strategy = string<br/> max_entries_to_build = optional(number, 5)<br/> max_entries_to_merge = optional(number, 5)<br/> // MERGE, SQUASH, REBASE<br/> merge_method = optional(string, "MERGE")<br/> min_entries_to_merge = optional(number, 1)<br/> min_entries_to_merge_wait_minutes = optional(number, 5)<br/> }), null),<br/> pull_request = optional(object({<br/> dismiss_stale_reviews_on_push = optional(bool, false)<br/> require_code_owner_review = optional(bool, false)<br/> require_last_push_approval = optional(bool, false)<br/> required_approving_review_count = optional(number, 0)<br/> required_review_thread_resolution = optional(bool, false)<br/> }), null),<br/> required_deployments = optional(object({<br/> required_deployment_environments = optional(list(string), [])<br/> }), null),<br/> required_status_checks = optional(object({<br/> required_check = list(object({<br/> context = string<br/> integration_id = optional(number, null)<br/> }))<br/> strict_required_status_checks_policy = optional(bool, false)<br/> do_not_enforce_on_create = optional(bool, false)<br/> }), null),<br/> tag_name_pattern = optional(object({<br/> // starts_with, ends_with, contains, regex<br/> operator = string<br/> pattern = string<br/> name = optional(string, null)<br/> negate = optional(bool, false)<br/> }), null),<br/> required_code_scanning = optional(object({<br/> required_code_scanning_tool = list(object({<br/> // none, errors, errors_and_warnings, all<br/> alerts_threshold = string<br/> // none, critical, high_or_higher, medium_or_higher, all<br/> security_alerts_threshold = string<br/> tool = string<br/> }))<br/> }), null),<br/> copilot_code_review = optional(object({<br/> review_on_push = optional(bool, false)<br/> review_draft_pull_requests = optional(bool, false)<br/> }), null),<br/> // Push ruleset rules (only valid when target = "push")<br/> file_path_restriction = optional(object({<br/> restricted_file_paths = list(string)<br/> }), null),<br/> max_file_size = optional(object({<br/> // 1-100 MB<br/> max_file_size = number<br/> }), null),<br/> max_file_path_length = optional(object({<br/> max_file_path_length = number<br/> }), null),<br/> file_extension_restriction = optional(object({<br/> restricted_file_extensions = list(string)<br/> }), null),<br/> }),<br/> }))</pre> | `{}` | no |
0 commit comments