{"id":26575583,"url":"https://github.com/vmvarela/terraform-github-repository","last_synced_at":"2025-03-23T02:19:34.200Z","repository":{"id":282406190,"uuid":"948405934","full_name":"vmvarela/terraform-github-repository","owner":"vmvarela","description":"A Terraform module for comprehensive GitHub repository management.","archived":false,"fork":false,"pushed_at":"2025-03-22T06:10:02.000Z","size":87,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-22T06:26:55.190Z","etag":null,"topics":["github-config","terraform-module"],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/modules/vmvarela/repository/github","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vmvarela.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-14T09:29:39.000Z","updated_at":"2025-03-22T06:07:27.000Z","dependencies_parsed_at":"2025-03-18T21:16:12.658Z","dependency_job_id":null,"html_url":"https://github.com/vmvarela/terraform-github-repository","commit_stats":null,"previous_names":["vmvarela/terraform-github-repository"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmvarela%2Fterraform-github-repository","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmvarela%2Fterraform-github-repository/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmvarela%2Fterraform-github-repository/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmvarela%2Fterraform-github-repository/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vmvarela","download_url":"https://codeload.github.com/vmvarela/terraform-github-repository/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245045012,"owners_count":20551963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-config","terraform-module"],"created_at":"2025-03-23T02:19:33.663Z","updated_at":"2025-03-23T02:19:34.173Z","avatar_url":"https://github.com/vmvarela.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Repository Terraform module\n\nA Terraform module for comprehensive GitHub repository management. This module offers complete lifecycle control for repositories, including permissions, GitHub Actions configuration, deploy keys, repository properties, user and team access management, autolink references, advanced security features, and ruleset configurations.\n\nThe module enables infrastructure-as-code practices for GitHub repositories, supporting key features such as:\n-\tRepository creation with customizable settings (visibility, branch protection, merge strategies)\n-\tTeam and user permission management with granular access control\n-\tGitHub Actions integration with secrets and variables management\n-\tDeploy keys configuration for automated deployments\n-\tAutolink references for connecting external resources\n-\tAdvanced security features configuration\n-\tCustom ruleset implementation for repository governance\n-\tBranch protection policies with required checks\n\n## Usage\n\n```hcl\nmodule \"repo\" {\n  source = \"github.com/vmvarela/terraform-github-repository\"\n\n  name           = \"my-repo\"\n  visibility     = \"private\"\n  default_branch = \"main\"\n  template       = \"MarketingPipeline/Awesome-Repo-Template\"\n}\n```\n\n## Examples\n\n- [simple](https://github.com/vmvarela/terraform-github-repository/tree/master/examples/simple) - Single repository from a template\n- [complete](https://github.com/vmvarela/terraform-github-repository/tree/master/examples/complete) - Several repositories (with configuration from a .yaml)\n\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 1.6 |\n| \u003ca name=\"requirement_github\"\u003e\u003c/a\u003e [github](#requirement\\_github) | \u003e= 6.6.0 |\n| \u003ca name=\"requirement_local\"\u003e\u003c/a\u003e [local](#requirement\\_local) | \u003e= 2.5.2 |\n| \u003ca name=\"requirement_null\"\u003e\u003c/a\u003e [null](#requirement\\_null) | \u003e= 3.2.3 |\n| \u003ca name=\"requirement_tls\"\u003e\u003c/a\u003e [tls](#requirement\\_tls) | \u003e= 4.0.6 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_github\"\u003e\u003c/a\u003e [github](#provider\\_github) | \u003e= 6.6.0 |\n| \u003ca name=\"provider_local\"\u003e\u003c/a\u003e [local](#provider\\_local) | \u003e= 2.5.2 |\n| \u003ca name=\"provider_null\"\u003e\u003c/a\u003e [null](#provider\\_null) | \u003e= 3.2.3 |\n| \u003ca name=\"provider_tls\"\u003e\u003c/a\u003e [tls](#provider\\_tls) | \u003e= 4.0.6 |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [github_actions_environment_secret.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/actions_environment_secret) | resource |\n| [github_actions_environment_variable.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/actions_environment_variable) | resource |\n| [github_actions_repository_access_level.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/actions_repository_access_level) | resource |\n| [github_actions_repository_permissions.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/actions_repository_permissions) | resource |\n| [github_actions_secret.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/actions_secret) | resource |\n| [github_actions_variable.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/actions_variable) | resource |\n| [github_branch.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/branch) | resource |\n| [github_branch_default.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/branch_default) | resource |\n| [github_dependabot_secret.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/dependabot_secret) | resource |\n| [github_issue_labels.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/issue_labels) | resource |\n| [github_repository.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository) | resource |\n| [github_repository_autolink_reference.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_autolink_reference) | resource |\n| [github_repository_collaborators.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_collaborators) | resource |\n| [github_repository_custom_property.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_custom_property) | resource |\n| [github_repository_dependabot_security_updates.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_dependabot_security_updates) | resource |\n| [github_repository_deploy_key.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_deploy_key) | resource |\n| [github_repository_environment.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_environment) | resource |\n| [github_repository_environment_deployment_policy.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_environment_deployment_policy) | resource |\n| [github_repository_file.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_file) | resource |\n| [github_repository_ruleset.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_ruleset) | resource |\n| [github_repository_webhook.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_webhook) | resource |\n| [local_file.private_key_file](https://registry.terraform.io/providers/hashicorp/local/latest/docs/resources/file) | resource |\n| [null_resource.create_subfolder](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource) | resource |\n| [tls_private_key.this](https://registry.terraform.io/providers/hashicorp/tls/latest/docs/resources/private_key) | resource |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_actions_access_level\"\u003e\u003c/a\u003e [actions\\_access\\_level](#input\\_actions\\_access\\_level) | (Optional) The access level for the repository. Must be one of `none`, `user`, `organization`, or `enterprise`. Default: `none` | `string` | `null` | no |\n| \u003ca name=\"input_actions_permissions\"\u003e\u003c/a\u003e [actions\\_permissions](#input\\_actions\\_permissions) | (Optional) The list of Github Actions permissions configuration of the repository: `allowed_actions` - (Optional) The permissions policy that controls the actions that are allowed to run. Can be one of: `all`, `local_only`, or `selected`.; `enabled` - (Optional) Should GitHub actions be enabled on this repository?; `github_owned_allowed` - (Optional) Whether GitHub-owned actions are allowed in the repository.; `patterns_allowed` - (Optional) Specifies a list of string-matching patterns to allow specific action(s). Wildcards, tags, and SHAs are allowed. For example, monalisa/octocat@, monalisa/octocat@v2, monalisa/.; `verified_allowed` -  (Optional) Whether actions in GitHub Marketplace from verified creators are allowed. Set to true to allow all GitHub Marketplace actions by verified creators. | \u003cpre\u003eobject({\u003cbr/\u003e    allowed_actions      = optional(string, null)\u003cbr/\u003e    github_owned_allowed = optional(bool, true)\u003cbr/\u003e    patterns_allowed     = optional(set(string), null)\u003cbr/\u003e    verified_allowed     = optional(bool, null)\u003cbr/\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_alias\"\u003e\u003c/a\u003e [alias](#input\\_alias) | (Optional) The original name of the repository (useful for renaming in IaC) | `string` | `null` | no |\n| \u003ca name=\"input_allow_auto_merge\"\u003e\u003c/a\u003e [allow\\_auto\\_merge](#input\\_allow\\_auto\\_merge) | (Optional) Set to `true` to allow auto-merging pull requests on the repository. | `bool` | `null` | no |\n| \u003ca name=\"input_allow_merge_commit\"\u003e\u003c/a\u003e [allow\\_merge\\_commit](#input\\_allow\\_merge\\_commit) | (Optional) Either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. | `bool` | `null` | no |\n| \u003ca name=\"input_allow_rebase_merge\"\u003e\u003c/a\u003e [allow\\_rebase\\_merge](#input\\_allow\\_rebase\\_merge) | (Optional) Either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging. | `bool` | `null` | no |\n| \u003ca name=\"input_allow_squash_merge\"\u003e\u003c/a\u003e [allow\\_squash\\_merge](#input\\_allow\\_squash\\_merge) | (Optional) Either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging. | `bool` | `null` | no |\n| \u003ca name=\"input_allow_update_branch\"\u003e\u003c/a\u003e [allow\\_update\\_branch](#input\\_allow\\_update\\_branch) | (Optional) Either `true` to always allow a pull request head branch that is behind its base branch to be updated even if it is not required to be up to date before merging, or `false` otherwise. | `bool` | `null` | no |\n| \u003ca name=\"input_archive_on_destroy\"\u003e\u003c/a\u003e [archive\\_on\\_destroy](#input\\_archive\\_on\\_destroy) | (Optional) Set to `true` to archive the repository instead of deleting on destroy. | `bool` | `null` | no |\n| \u003ca name=\"input_archived\"\u003e\u003c/a\u003e [archived](#input\\_archived) | (Optional) Whether to archive this repository. `false` will unarchive a previously archived repository. | `bool` | `null` | no |\n| \u003ca name=\"input_auto_init\"\u003e\u003c/a\u003e [auto\\_init](#input\\_auto\\_init) | (Optional) Set to `true` to produce an initial commit in the repository | `bool` | `null` | no |\n| \u003ca name=\"input_autolink_references\"\u003e\u003c/a\u003e [autolink\\_references](#input\\_autolink\\_references) | (Optional) The list of autolink references of the repository (key: key\\_prefix) | \u003cpre\u003emap(object({\u003cbr/\u003e    target_url_template = string\u003cbr/\u003e    is_alphanumeric     = optional(bool)\u003cbr/\u003e  }))\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_branches\"\u003e\u003c/a\u003e [branches](#input\\_branches) | (Optional) The list of branches to create (map of name and source branch) | `map(string)` | `null` | no |\n| \u003ca name=\"input_custom_properties\"\u003e\u003c/a\u003e [custom\\_properties](#input\\_custom\\_properties) | (Optional) The custom properties for the new repository. The keys are the custom property names, and the values are the corresponding custom property values. | `any` | `null` | no |\n| \u003ca name=\"input_custom_properties_types\"\u003e\u003c/a\u003e [custom\\_properties\\_types](#input\\_custom\\_properties\\_types) | (Optional) The list of types associated to properties (key: property\\_name) | `map(string)` | `null` | no |\n| \u003ca name=\"input_default_branch\"\u003e\u003c/a\u003e [default\\_branch](#input\\_default\\_branch) | (Optional) Updates the default branch for this repository. | `string` | `null` | no |\n| \u003ca name=\"input_delete_branch_on_merge\"\u003e\u003c/a\u003e [delete\\_branch\\_on\\_merge](#input\\_delete\\_branch\\_on\\_merge) | (Optional) Either `true` to enable automatic deletion of branches on merge, or `false` to disable. | `bool` | `null` | no |\n| \u003ca name=\"input_dependabot_secrets\"\u003e\u003c/a\u003e [dependabot\\_secrets](#input\\_dependabot\\_secrets) | (Optional) The list of secrets configuration of the repository (key: `secret_name`, arguments: `encrypted_value` or `plaintext_value`) | \u003cpre\u003emap(object({\u003cbr/\u003e    encrypted_value = optional(string)\u003cbr/\u003e    plaintext_value = optional(string)\u003cbr/\u003e  }))\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_deploy_keys\"\u003e\u003c/a\u003e [deploy\\_keys](#input\\_deploy\\_keys) | (Optional) The list of deploy keys of the repository (key: key\\_title) | \u003cpre\u003emap(object({\u003cbr/\u003e    key       = optional(string) # auto-generated if not provided\u003cbr/\u003e    read_only = optional(bool, true)\u003cbr/\u003e  }))\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_deploy_keys_path\"\u003e\u003c/a\u003e [deploy\\_keys\\_path](#input\\_deploy\\_keys\\_path) | (Optional) The path to the generated deploy keys for this repository | `string` | `\"./deploy_keys\"` | no |\n| \u003ca name=\"input_description\"\u003e\u003c/a\u003e [description](#input\\_description) | (Optional) A short description of the repository that will show up on GitHub | `string` | `null` | no |\n| \u003ca name=\"input_enable_actions\"\u003e\u003c/a\u003e [enable\\_actions](#input\\_enable\\_actions) | (Optional) Either `true` to enable Github Actions, or `false` to disable. | `bool` | `null` | no |\n| \u003ca name=\"input_enable_advanced_security\"\u003e\u003c/a\u003e [enable\\_advanced\\_security](#input\\_enable\\_advanced\\_security) | (Optional) Use to enable or disable GitHub Advanced Security for this repository. | `bool` | `null` | no |\n| \u003ca name=\"input_enable_dependabot_security_updates\"\u003e\u003c/a\u003e [enable\\_dependabot\\_security\\_updates](#input\\_enable\\_dependabot\\_security\\_updates) | (Optional) Set to `true` to enable the automated security fixes. | `bool` | `null` | no |\n| \u003ca name=\"input_enable_secret_scanning\"\u003e\u003c/a\u003e [enable\\_secret\\_scanning](#input\\_enable\\_secret\\_scanning) | (Optional) Use to enable or disable secret scanning for this repository. If set to `true`, the repository's visibility must be `public` or `enable_advanced_security` must also be `true`. | `bool` | `null` | no |\n| \u003ca name=\"input_enable_secret_scanning_push_protection\"\u003e\u003c/a\u003e [enable\\_secret\\_scanning\\_push\\_protection](#input\\_enable\\_secret\\_scanning\\_push\\_protection) | (Optional) Use to enable or disable secret scanning push protection for this repository. If set to `true`, the repository's visibility must be `public` or `enable_advanced_security` must also be `true`. | `bool` | `null` | no |\n| \u003ca name=\"input_enable_vulnerability_alerts\"\u003e\u003c/a\u003e [enable\\_vulnerability\\_alerts](#input\\_enable\\_vulnerability\\_alerts) | (Optional) Either `true` to enable vulnerability alerts, or `false` to disable vulnerability alerts. | `bool` | `null` | no |\n| \u003ca name=\"input_environments\"\u003e\u003c/a\u003e [environments](#input\\_environments) | (Optional) The list of environments configuration of the repository (key: environment\\_name) | \u003cpre\u003emap(object({\u003cbr/\u003e    wait_timer             = optional(number)\u003cbr/\u003e    can_admins_bypass      = optional(bool)\u003cbr/\u003e    prevent_self_review    = optional(bool)\u003cbr/\u003e    reviewers_users        = optional(set(string), [])\u003cbr/\u003e    reviewers_teams        = optional(set(string), [])\u003cbr/\u003e    protected_branches     = optional(bool)\u003cbr/\u003e    custom_branch_policies = optional(set(string))\u003cbr/\u003e    secrets = optional(map(object({\u003cbr/\u003e      encrypted_value = optional(string)\u003cbr/\u003e      plaintext_value = optional(string)\u003cbr/\u003e    })))\u003cbr/\u003e    variables = optional(map(string))\u003cbr/\u003e  }))\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_files\"\u003e\u003c/a\u003e [files](#input\\_files) | (Optional) The list of files of the repository (key: file\\_path) | \u003cpre\u003emap(object({\u003cbr/\u003e    content             = optional(string)\u003cbr/\u003e    from_file           = optional(string)\u003cbr/\u003e    branch              = optional(string)\u003cbr/\u003e    commit_author       = optional(string)\u003cbr/\u003e    commit_email        = optional(string)\u003cbr/\u003e    commit_message      = optional(string)\u003cbr/\u003e    overwrite_on_create = optional(bool, true)\u003cbr/\u003e  }))\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_gitignore_template\"\u003e\u003c/a\u003e [gitignore\\_template](#input\\_gitignore\\_template) | (Optional) Use the [name of the template](https://github.com/github/gitignore) without the extension. For example, `Haskell`. | `string` | `null` | no |\n| \u003ca name=\"input_has_downloads\"\u003e\u003c/a\u003e [has\\_downloads](#input\\_has\\_downloads) | (Optional) Whether downloads are enabled. | `bool` | `null` | no |\n| \u003ca name=\"input_has_issues\"\u003e\u003c/a\u003e [has\\_issues](#input\\_has\\_issues) | (Optional) Either `true` to enable issues for this repository or `false` to disable them. | `bool` | `null` | no |\n| \u003ca name=\"input_has_projects\"\u003e\u003c/a\u003e [has\\_projects](#input\\_has\\_projects) | (Optional) Either `true` to enable projects for this repository or `false` to disable them. **Note:** If you're creating a repository in an organization that has disabled repository projects, the default is `false`, and if you pass `true`, the API returns an error. | `bool` | `null` | no |\n| \u003ca name=\"input_has_wiki\"\u003e\u003c/a\u003e [has\\_wiki](#input\\_has\\_wiki) | (Optional) Either `true` to enable the wiki for this repository, `false` to disable it. | `bool` | `null` | no |\n| \u003ca name=\"input_homepage\"\u003e\u003c/a\u003e [homepage](#input\\_homepage) | (Optional) A URL with more information about the repository | `string` | `null` | no |\n| \u003ca name=\"input_is_template\"\u003e\u003c/a\u003e [is\\_template](#input\\_is\\_template) | (Optional) Either `true` to make this repo available as a template repository or `false` to prevent it. | `bool` | `null` | no |\n| \u003ca name=\"input_issue_labels\"\u003e\u003c/a\u003e [issue\\_labels](#input\\_issue\\_labels) | (Optional) The list of issue labels of the repository (key: `label_name`, arguments: `color` and `description`) | \u003cpre\u003emap(object({\u003cbr/\u003e    color       = optional(string)\u003cbr/\u003e    description = optional(string)\u003cbr/\u003e  }))\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_license_template\"\u003e\u003c/a\u003e [license\\_template](#input\\_license\\_template) | (Optional) Use the [name of the template](https://github.com/github/choosealicense.com/tree/gh-pages/_licenses) without the extension. For example, `mit` or `mpl-2.0`. | `string` | `null` | no |\n| \u003ca name=\"input_merge_commit_message\"\u003e\u003c/a\u003e [merge\\_commit\\_message](#input\\_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` | `null` | no |\n| \u003ca name=\"input_merge_commit_title\"\u003e\u003c/a\u003e [merge\\_commit\\_title](#input\\_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` | `null` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | (Required) The name of the repository. Changing this will rename the repository | `string` | n/a | yes |\n| \u003ca name=\"input_pages\"\u003e\u003c/a\u003e [pages](#input\\_pages) | (Optional) The repository's GitHub Pages configuration. Supports the following: `source_branch` - (Optional) The repository branch used to publish the site's source files. (i.e. main or gh-pages).; `source_path` -  (Optional) The repository directory from which the site publishes (Default: `/`).; (Optional) The type of GitHub Pages site to build. Can be `legacy` or `workflow`. If you use `legacy` as build type you need to set the option `source_branch`.; `cname` - (Optional) The custom domain for the repository. This can only be set after the repository has been created. | \u003cpre\u003eobject({\u003cbr/\u003e    source_branch = optional(string)\u003cbr/\u003e    source_path   = optional(string)\u003cbr/\u003e    build_type    = optional(string, \"workflow\")\u003cbr/\u003e    cname         = optional(string)\u003cbr/\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_private\"\u003e\u003c/a\u003e [private](#input\\_private) | (Optional) Either true to make the repository private or false to make it public. Default: false. **Note:** You will get a 422 error if the organization restricts changing repository visibility to organization owners and a non-owner tries to change the value of private. | `bool` | `null` | no |\n| \u003ca name=\"input_rulesets\"\u003e\u003c/a\u003e [rulesets](#input\\_rulesets) | (Optional) Repository rules | \u003cpre\u003emap(object({\u003cbr/\u003e    enforcement                          = optional(string, \"active\")\u003cbr/\u003e    target                               = optional(string, \"branch\")\u003cbr/\u003e    include                              = optional(set(string), [])\u003cbr/\u003e    exclude                              = optional(set(string), [])\u003cbr/\u003e    bypass_mode                          = optional(string, \"always\")\u003cbr/\u003e    bypass_organization_admin            = optional(bool)\u003cbr/\u003e    bypass_roles                         = optional(set(string))\u003cbr/\u003e    bypass_teams                         = optional(set(string))\u003cbr/\u003e    bypass_integration                   = optional(set(string))\u003cbr/\u003e    regex_branch_name                    = optional(string)\u003cbr/\u003e    regex_tag_name                       = optional(string)\u003cbr/\u003e    regex_commit_author_email            = optional(string)\u003cbr/\u003e    regex_committer_email                = optional(string)\u003cbr/\u003e    regex_commit_message                 = optional(string)\u003cbr/\u003e    forbidden_creation                   = optional(bool)\u003cbr/\u003e    forbidden_deletion                   = optional(bool)\u003cbr/\u003e    forbidden_update                     = optional(bool)\u003cbr/\u003e    forbidden_fast_forward               = optional(bool)\u003cbr/\u003e    dismiss_pr_stale_reviews_on_push     = optional(bool)\u003cbr/\u003e    required_pr_code_owner_review        = optional(bool)\u003cbr/\u003e    required_pr_last_push_approval       = optional(bool)\u003cbr/\u003e    required_pr_approving_review_count   = optional(number)\u003cbr/\u003e    required_pr_review_thread_resolution = optional(bool)\u003cbr/\u003e    required_deployment_environments     = optional(set(string))\u003cbr/\u003e    required_linear_history              = optional(bool)\u003cbr/\u003e    required_signatures                  = optional(bool)\u003cbr/\u003e    required_checks                      = optional(set(string))\u003cbr/\u003e    required_code_scanning = optional(map(object({ # index is name of tool\u003cbr/\u003e      alerts_threshold          = optional(string)\u003cbr/\u003e      security_alerts_threshold = optional(string)\u003cbr/\u003e    })))\u003cbr/\u003e  }))\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_secrets\"\u003e\u003c/a\u003e [secrets](#input\\_secrets) | (Optional) The list of secrets configuration of the repository (key: secret\\_name) | \u003cpre\u003emap(object({\u003cbr/\u003e    encrypted_value = optional(string)\u003cbr/\u003e    plaintext_value = optional(string)\u003cbr/\u003e  }))\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_squash_merge_commit_message\"\u003e\u003c/a\u003e [squash\\_merge\\_commit\\_message](#input\\_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` | `null` | no |\n| \u003ca name=\"input_squash_merge_commit_title\"\u003e\u003c/a\u003e [squash\\_merge\\_commit\\_title](#input\\_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` | `null` | no |\n| \u003ca name=\"input_teams\"\u003e\u003c/a\u003e [teams](#input\\_teams) | (Optional) The list of collaborators (teams) of the repository | `map(string)` | `null` | no |\n| \u003ca name=\"input_template\"\u003e\u003c/a\u003e [template](#input\\_template) | (Optional) Use a template repository to create this resource (owner/repo) | `string` | `null` | no |\n| \u003ca name=\"input_template_include_all_branches\"\u003e\u003c/a\u003e [template\\_include\\_all\\_branches](#input\\_template\\_include\\_all\\_branches) | (Optional) Whether the new repository should include all the branches from the template repository (defaults to false, which includes only the default branch from the template). | `bool` | `null` | no |\n| \u003ca name=\"input_topics\"\u003e\u003c/a\u003e [topics](#input\\_topics) | (Optional) A list of topics to set on the repository | `set(string)` | `null` | no |\n| \u003ca name=\"input_users\"\u003e\u003c/a\u003e [users](#input\\_users) | (Optional) The list of collaborators (users) of the repository | `map(string)` | `null` | no |\n| \u003ca name=\"input_variables\"\u003e\u003c/a\u003e [variables](#input\\_variables) | (Optional) The list of variables configuration of the repository (key: variable\\_name) | `map(string)` | `null` | no |\n| \u003ca name=\"input_visibility\"\u003e\u003c/a\u003e [visibility](#input\\_visibility) | (Optional) Can be `public` or `private` (or `internal` if your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+). The visibility parameter overrides the `private` parameter. | `string` | `null` | no |\n| \u003ca name=\"input_web_commit_signoff_required\"\u003e\u003c/a\u003e [web\\_commit\\_signoff\\_required](#input\\_web\\_commit\\_signoff\\_required) | (Optional) Require contributors to sign off on web-based commits. See more here. Defaults to `false` | `bool` | `null` | no |\n| \u003ca name=\"input_webhooks\"\u003e\u003c/a\u003e [webhooks](#input\\_webhooks) | (Optional) The list of webhooks of the repository (key: webhook\\_url) | \u003cpre\u003emap(object({\u003cbr/\u003e    content_type = string\u003cbr/\u003e    insecure_ssl = optional(bool, false)\u003cbr/\u003e    secret       = optional(string)\u003cbr/\u003e    events       = optional(set(string))\u003cbr/\u003e  }))\u003c/pre\u003e | `null` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_alias\"\u003e\u003c/a\u003e [alias](#output\\_alias) | Alias (used for renaming) |\n| \u003ca name=\"output_repository\"\u003e\u003c/a\u003e [repository](#output\\_repository) | Created repository |\n\u003c!-- END_TF_DOCS --\u003e\n\n## Authors\n\nModule is maintained by [Victor M. Varela](https://github.com/vmvarela).\n\n## License\n\nApache 2 Licensed. See [LICENSE](https://github.com/vmvarela/terraform-github-repository/tree/master/LICENSE) for full details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmvarela%2Fterraform-github-repository","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvmvarela%2Fterraform-github-repository","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmvarela%2Fterraform-github-repository/lists"}