{"id":16225650,"url":"https://github.com/lasuillard/terraform-github-repository","last_synced_at":"2025-08-23T22:32:07.058Z","repository":{"id":229415511,"uuid":"776655547","full_name":"lasuillard/terraform-github-repository","owner":"lasuillard","description":"Terraform module to create GitHub repository and relevant resources.","archived":false,"fork":false,"pushed_at":"2024-12-03T23:42:58.000Z","size":94,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-04T00:28:02.601Z","etag":null,"topics":["github-repository","terraform","terraform-github-provider","terraform-module"],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/modules/lasuillard/repository/github/latest","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lasuillard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2024-03-24T05:14:12.000Z","updated_at":"2024-12-03T23:43:00.000Z","dependencies_parsed_at":"2024-05-19T02:36:28.598Z","dependency_job_id":"a0042572-8cf3-4875-8f34-64b5e4ed97b3","html_url":"https://github.com/lasuillard/terraform-github-repository","commit_stats":{"total_commits":46,"total_committers":2,"mean_commits":23.0,"dds":0.08695652173913049,"last_synced_commit":"d3f779ba4c00a9eab0739d821c23c46a438fcb6a"},"previous_names":["lasuillard/terraform-github-repository"],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasuillard%2Fterraform-github-repository","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasuillard%2Fterraform-github-repository/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasuillard%2Fterraform-github-repository/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lasuillard%2Fterraform-github-repository/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lasuillard","download_url":"https://codeload.github.com/lasuillard/terraform-github-repository/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230747034,"owners_count":18274353,"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-repository","terraform","terraform-github-provider","terraform-module"],"created_at":"2024-10-10T12:45:49.988Z","updated_at":"2024-12-21T17:28:30.237Z","avatar_url":"https://github.com/lasuillard.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-github-repository\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![CI](https://github.com/lasuillard/terraform-github-repository/actions/workflows/ci.yaml/badge.svg)](https://github.com/lasuillard/terraform-github-repository/actions/workflows/ci.yaml)\n![GitHub Release](https://img.shields.io/github/v/release/lasuillard/terraform-github-repository)\n\nTerraform module to create GitHub repository and relevant resources.\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.0 |\n| \u003ca name=\"requirement_github\"\u003e\u003c/a\u003e [github](#requirement\\_github) | ~\u003e 6.2 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_github\"\u003e\u003c/a\u003e [github](#provider\\_github) | ~\u003e 6.2 |\n\n## Modules\n\n| Name | Source | Version |\n|------|--------|---------|\n| \u003ca name=\"module_actions\"\u003e\u003c/a\u003e [actions](#module\\_actions) | ./modules/actions | n/a |\n| \u003ca name=\"module_rulesets\"\u003e\u003c/a\u003e [rulesets](#module\\_rulesets) | ./modules/rulesets | n/a |\n| \u003ca name=\"module_secrets_and_variables\"\u003e\u003c/a\u003e [secrets\\_and\\_variables](#module\\_secrets\\_and\\_variables) | ./modules/secrets-and-variables | n/a |\n\n## Resources\n\n| Name | Type |\n|------|------|\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_branch_protection.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/branch_protection) | resource |\n| [github_issue_label.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/issue_label) | 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_collaborator.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_collaborator) | resource |\n| [github_repository_collaborators.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_collaborators) | 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_file.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_file) | resource |\n| [github_repository_webhook.this](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository_webhook) | resource |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_actions_repository_access_level\"\u003e\u003c/a\u003e [actions\\_repository\\_access\\_level](#input\\_actions\\_repository\\_access\\_level) | Where the actions or reusable workflows of the repository may be used. Possible values are `\"none\"`, `\"user\"`, `\"organization\"`, or `\"enterprise\"`.\u003cbr/\u003e\u003cbr/\u003eIf `null`, skip creation of `github_actions_repository_access_level` resource. | `string` | `null` | no |\n| \u003ca name=\"input_actions_repository_permissions\"\u003e\u003c/a\u003e [actions\\_repository\\_permissions](#input\\_actions\\_repository\\_permissions) | GitHub Actions permissions for a given repository. | \u003cpre\u003eobject({\u003cbr/\u003e    allowed_actions = optional(string)\u003cbr/\u003e    enabled         = optional(bool)\u003cbr/\u003e    allowed_actions_config = optional(object({\u003cbr/\u003e      github_owned_allowed = bool\u003cbr/\u003e      patterns_allowed     = optional(set(string))\u003cbr/\u003e      verified_allowed     = optional(bool)\u003cbr/\u003e    }))\u003cbr/\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_allow_auto_merge\"\u003e\u003c/a\u003e [allow\\_auto\\_merge](#input\\_allow\\_auto\\_merge) | Set to `true` to allow auto-merging pull requests on the repository. | `bool` | `false` | no |\n| \u003ca name=\"input_allow_merge_commit\"\u003e\u003c/a\u003e [allow\\_merge\\_commit](#input\\_allow\\_merge\\_commit) | Set to `false` to disable merge commits on the repository. | `bool` | `true` | no |\n| \u003ca name=\"input_allow_rebase_merge\"\u003e\u003c/a\u003e [allow\\_rebase\\_merge](#input\\_allow\\_rebase\\_merge) | Set to `false` to disable rebase merges on the repository. | `bool` | `true` | no |\n| \u003ca name=\"input_allow_squash_merge\"\u003e\u003c/a\u003e [allow\\_squash\\_merge](#input\\_allow\\_squash\\_merge) | Set to `false` to disable squash merges on the repository. | `bool` | `true` | no |\n| \u003ca name=\"input_allow_update_branch\"\u003e\u003c/a\u003e [allow\\_update\\_branch](#input\\_allow\\_update\\_branch) | Set to `true` to always suggest updating pull request branches. | `bool` | `null` | no |\n| \u003ca name=\"input_archive_on_destroy\"\u003e\u003c/a\u003e [archive\\_on\\_destroy](#input\\_archive\\_on\\_destroy) | Set to `true` to archive the repository instead of deleting on destroy. | `bool` | `true` | no |\n| \u003ca name=\"input_archived\"\u003e\u003c/a\u003e [archived](#input\\_archived) | Specifies if the repository should be archived.\u003cbr/\u003e\u003cbr/\u003e**NOTE** Currently, the API does not support unarchiving. | `bool` | `false` | no |\n| \u003ca name=\"input_auto_init\"\u003e\u003c/a\u003e [auto\\_init](#input\\_auto\\_init) | 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) | Autolink references. | \u003cpre\u003elist(object({\u003cbr/\u003e    key_prefix          = string\u003cbr/\u003e    target_url_template = string\u003cbr/\u003e    is_alphanumeric     = optional(bool)\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_branch_protections\"\u003e\u003c/a\u003e [branch\\_protections](#input\\_branch\\_protections) | Branch protection rules. | \u003cpre\u003elist(object({\u003cbr/\u003e    pattern                         = string\u003cbr/\u003e    enforce_admins                  = optional(bool)\u003cbr/\u003e    require_signed_commits          = optional(bool)\u003cbr/\u003e    required_linear_history         = optional(bool)\u003cbr/\u003e    require_conversation_resolution = optional(bool)\u003cbr/\u003e    required_status_checks = optional(object({\u003cbr/\u003e      strict   = optional(bool)\u003cbr/\u003e      contexts = optional(set(string))\u003cbr/\u003e    }))\u003cbr/\u003e    required_pull_request_reviews = optional(object({\u003cbr/\u003e      dismiss_stale_reviews           = optional(bool)\u003cbr/\u003e      restrict_dismissals             = optional(bool)\u003cbr/\u003e      dismissal_restrictions          = optional(set(string))\u003cbr/\u003e      pull_request_bypassers          = optional(set(string))\u003cbr/\u003e      require_code_owner_reviews      = optional(bool)\u003cbr/\u003e      required_approving_review_count = optional(number)\u003cbr/\u003e      require_last_push_approval      = optional(bool)\u003cbr/\u003e    }))\u003cbr/\u003e    restrict_pushes = optional(object({\u003cbr/\u003e      blocks_creations = optional(bool)\u003cbr/\u003e      push_allowances  = optional(set(string))\u003cbr/\u003e    }))\u003cbr/\u003e    force_push_bypassers = optional(set(string))\u003cbr/\u003e    allows_deletions     = optional(bool)\u003cbr/\u003e    allows_force_pushes  = optional(bool)\u003cbr/\u003e    lock_branch          = optional(bool)\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_branches\"\u003e\u003c/a\u003e [branches](#input\\_branches) | Map of branch name and configuration to create. | \u003cpre\u003emap(object({\u003cbr/\u003e    source_branch = optional(string)\u003cbr/\u003e    source_sha    = optional(string)\u003cbr/\u003e  }))\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_collaborators\"\u003e\u003c/a\u003e [collaborators](#input\\_collaborators) | List of collaboratos. | \u003cpre\u003eobject({\u003cbr/\u003e    non_authoritative = optional(list(object({\u003cbr/\u003e      username                    = string\u003cbr/\u003e      permission                  = optional(string)\u003cbr/\u003e      permission_diff_suppression = optional(bool)\u003cbr/\u003e    })))\u003cbr/\u003e    authoritative = optional(object({\u003cbr/\u003e      users = optional(list(object({\u003cbr/\u003e        username   = string\u003cbr/\u003e        permission = optional(string)\u003cbr/\u003e      })))\u003cbr/\u003e      teams = optional(list(object({\u003cbr/\u003e        team_id    = string\u003cbr/\u003e        permission = optional(string)\u003cbr/\u003e      })))\u003cbr/\u003e    }))\u003cbr/\u003e  })\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_collaborators_authoritative\"\u003e\u003c/a\u003e [collaborators\\_authoritative](#input\\_collaborators\\_authoritative) | Whether collaborators should be managed in authoritative way. If set `true`, `github_repository_collaborators` resource will be used. | `bool` | `false` | no |\n| \u003ca name=\"input_create\"\u003e\u003c/a\u003e [create](#input\\_create) | Whether to create this module or not. | `bool` | `true` | no |\n| \u003ca name=\"input_default_branch\"\u003e\u003c/a\u003e [default\\_branch](#input\\_default\\_branch) | The name of the default branch of the repository. | `string` | `\"main\"` | no |\n| \u003ca name=\"input_default_branch_rename\"\u003e\u003c/a\u003e [default\\_branch\\_rename](#input\\_default\\_branch\\_rename) | Indicate if it should rename the branch rather than use an existing branch. | `bool` | `false` | no |\n| \u003ca name=\"input_delete_branch_on_merge\"\u003e\u003c/a\u003e [delete\\_branch\\_on\\_merge](#input\\_delete\\_branch\\_on\\_merge) | Automatically delete head branch after a pull request is merged. | `bool` | `false` | no |\n| \u003ca name=\"input_dependabot_security_updates_enabled\"\u003e\u003c/a\u003e [dependabot\\_security\\_updates\\_enabled](#input\\_dependabot\\_security\\_updates\\_enabled) | Whether to enable Dependabot security updates. | `bool` | `false` | no |\n| \u003ca name=\"input_deploy_keys\"\u003e\u003c/a\u003e [deploy\\_keys](#input\\_deploy\\_keys) | Deploy keys. | \u003cpre\u003elist(object({\u003cbr/\u003e    key       = string\u003cbr/\u003e    read_only = bool\u003cbr/\u003e    title     = string\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_deployment_branch_policies\"\u003e\u003c/a\u003e [deployment\\_branch\\_policies](#input\\_deployment\\_branch\\_policies) | Deployment branch policies. | \u003cpre\u003elist(object({\u003cbr/\u003e    environment    = string\u003cbr/\u003e    branch_pattern = string\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_description\"\u003e\u003c/a\u003e [description](#input\\_description) | A description of the repository. | `string` | `null` | no |\n| \u003ca name=\"input_environments\"\u003e\u003c/a\u003e [environments](#input\\_environments) | List of GitHub repository environments. | \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 = optional(object({\u003cbr/\u003e      teams = optional(set(string))\u003cbr/\u003e      users = optional(set(string))\u003cbr/\u003e    }))\u003cbr/\u003e    deployment_branch_policy = optional(object({\u003cbr/\u003e      protected_branches     = bool\u003cbr/\u003e      custom_branch_policies = bool\u003cbr/\u003e    }))\u003cbr/\u003e  }))\u003c/pre\u003e | `{}` | no |\n| \u003ca name=\"input_files\"\u003e\u003c/a\u003e [files](#input\\_files) | Repository files. | \u003cpre\u003elist(object({\u003cbr/\u003e    file                = string\u003cbr/\u003e    content             = 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)\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_gitignore_template\"\u003e\u003c/a\u003e [gitignore\\_template](#input\\_gitignore\\_template) | 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_discussions\"\u003e\u003c/a\u003e [has\\_discussions](#input\\_has\\_discussions) | Set to `true` to enable GitHub Discussions on the repository. | `bool` | `false` | no |\n| \u003ca name=\"input_has_downloads\"\u003e\u003c/a\u003e [has\\_downloads](#input\\_has\\_downloads) | Set to `true` to enable the (deprecated) downloads features on the repository. | `bool` | `null` | no |\n| \u003ca name=\"input_has_issues\"\u003e\u003c/a\u003e [has\\_issues](#input\\_has\\_issues) | Set to `true` to enable the GitHub Issues features on the repository. | `bool` | `true` | no |\n| \u003ca name=\"input_has_projects\"\u003e\u003c/a\u003e [has\\_projects](#input\\_has\\_projects) | Set to `true` to enable the GitHub Projects features on the repository.\u003cbr/\u003e\u003cbr/\u003ePer the GitHub [documentation](https://developer.github.com/v3/repos/#create) when in an organization that has disabled repository projects it will default to `false` and will otherwise default to `true`.\u003cbr/\u003eIf you specify `true` when it has been disabled it will return an error. | `bool` | `false` | no |\n| \u003ca name=\"input_has_wiki\"\u003e\u003c/a\u003e [has\\_wiki](#input\\_has\\_wiki) | Set to `true` to enable the GitHub Wiki features on the repository. | `bool` | `false` | no |\n| \u003ca name=\"input_homepage_url\"\u003e\u003c/a\u003e [homepage\\_url](#input\\_homepage\\_url) | URL of a page describing the project. | `string` | `null` | no |\n| \u003ca name=\"input_ignore_vulnerability_alerts_during_read\"\u003e\u003c/a\u003e [ignore\\_vulnerability\\_alerts\\_during\\_read](#input\\_ignore\\_vulnerability\\_alerts\\_during\\_read) | Set to `true` to not call the vulnerability alerts endpoint so the resource can also be used without admin permissions during read. | `bool` | `null` | no |\n| \u003ca name=\"input_is_template\"\u003e\u003c/a\u003e [is\\_template](#input\\_is\\_template) | Set to `true` to tell GitHub that this is a template repository. | `bool` | `false` | no |\n| \u003ca name=\"input_issue_labels\"\u003e\u003c/a\u003e [issue\\_labels](#input\\_issue\\_labels) | Issue labels. Starting prefix \"#\" in `color` will be ignored. | \u003cpre\u003elist(object({\u003cbr/\u003e    name        = string\u003cbr/\u003e    color       = string\u003cbr/\u003e    description = optional(string)\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_issue_labels_authoritative\"\u003e\u003c/a\u003e [issue\\_labels\\_authoritative](#input\\_issue\\_labels\\_authoritative) | Whether issue labels managed in authoritative ways. If `true`, issue labels will be created using `github_issue_labels` resource type, possibly causing all the labels not listed removed. | `bool` | `false` | no |\n| \u003ca name=\"input_license_template\"\u003e\u003c/a\u003e [license\\_template](#input\\_license\\_template) | 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) | 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) | 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) | The name of the repository. | `string` | n/a | yes |\n| \u003ca name=\"input_pages\"\u003e\u003c/a\u003e [pages](#input\\_pages) | The repository's GitHub Pages configuration.\u003cbr/\u003e\u003cbr/\u003eSee [GitHub Pages Configuration](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository#github-pages-configuration) for details. | \u003cpre\u003eobject({\u003cbr/\u003e    source = optional(object({\u003cbr/\u003e      branch = string\u003cbr/\u003e      path   = optional(string)\u003cbr/\u003e    }))\u003cbr/\u003e    build_type = optional(string)\u003cbr/\u003e    cname      = optional(string)\u003cbr/\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_rulesets\"\u003e\u003c/a\u003e [rulesets](#input\\_rulesets) | Repository rulesets. | \u003cpre\u003elist(object({\u003cbr/\u003e    enforcement = string\u003cbr/\u003e    name        = string\u003cbr/\u003e    rules = object({\u003cbr/\u003e      branch_name_pattern = optional(object({\u003cbr/\u003e        operator = string\u003cbr/\u003e        pattern  = string\u003cbr/\u003e        name     = optional(string)\u003cbr/\u003e        negate   = optional(bool)\u003cbr/\u003e      }))\u003cbr/\u003e      commit_author_email_pattern = optional(object({\u003cbr/\u003e        operator = string\u003cbr/\u003e        pattern  = string\u003cbr/\u003e        name     = optional(string)\u003cbr/\u003e        negate   = optional(bool)\u003cbr/\u003e      }))\u003cbr/\u003e      commit_message_pattern = optional(object({\u003cbr/\u003e        operator = string\u003cbr/\u003e        pattern  = string\u003cbr/\u003e        name     = optional(string)\u003cbr/\u003e        negate   = optional(bool)\u003cbr/\u003e      }))\u003cbr/\u003e      committer_email_pattern = optional(object({\u003cbr/\u003e        operator = string\u003cbr/\u003e        pattern  = string\u003cbr/\u003e        name     = optional(string)\u003cbr/\u003e        negate   = optional(bool)\u003cbr/\u003e      }))\u003cbr/\u003e      creation         = optional(bool)\u003cbr/\u003e      deletion         = optional(bool)\u003cbr/\u003e      non_fast_forward = optional(bool)\u003cbr/\u003e      pull_request = optional(object({\u003cbr/\u003e        dismiss_stale_reviews_on_push     = optional(bool)\u003cbr/\u003e        require_code_owner_review         = optional(bool)\u003cbr/\u003e        require_last_push_approval        = optional(bool)\u003cbr/\u003e        required_approving_review_count   = optional(number)\u003cbr/\u003e        required_review_thread_resolution = optional(bool)\u003cbr/\u003e      }))\u003cbr/\u003e      required_deployments = optional(object({\u003cbr/\u003e        required_deployment_environments = set(string)\u003cbr/\u003e      }))\u003cbr/\u003e      required_linear_history = optional(bool)\u003cbr/\u003e      required_signatures     = optional(bool)\u003cbr/\u003e      required_status_checks = optional(object({\u003cbr/\u003e        required_check = list(object({\u003cbr/\u003e          context        = string\u003cbr/\u003e          integration_id = optional(number)\u003cbr/\u003e        }))\u003cbr/\u003e        strict_required_status_checks_policy = optional(bool)\u003cbr/\u003e      }))\u003cbr/\u003e      tag_name_pattern = optional(object({\u003cbr/\u003e        operator = string\u003cbr/\u003e        pattern  = string\u003cbr/\u003e        name     = optional(string)\u003cbr/\u003e        negate   = optional(bool)\u003cbr/\u003e      }))\u003cbr/\u003e      update                        = optional(bool)\u003cbr/\u003e      update_allows_fetch_and_merge = optional(bool)\u003cbr/\u003e    })\u003cbr/\u003e    target = string\u003cbr/\u003e    bypass_actors = optional(list(object({\u003cbr/\u003e      actor_id    = number\u003cbr/\u003e      actor_type  = string\u003cbr/\u003e      bypass_mode = optional(string)\u003cbr/\u003e    })))\u003cbr/\u003e    conditions = optional(object({\u003cbr/\u003e      ref_name = object({\u003cbr/\u003e        exclude = set(string)\u003cbr/\u003e        include = set(string)\u003cbr/\u003e      })\u003cbr/\u003e    }))\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_secrets\"\u003e\u003c/a\u003e [secrets](#input\\_secrets) | GitHub Actions secrets for this repository.\u003cbr/\u003e\u003cbr/\u003e- Available values for `subject` are `\"actions\"`, `\"codespaces\"`, `\"dependabot\"`.\u003cbr/\u003e- `github_actions_environment_secret` resource will be created if `environment` key specified. | \u003cpre\u003elist(object({\u003cbr/\u003e    subjects        = set(string)\u003cbr/\u003e    environment     = optional(string)\u003cbr/\u003e    secret_name     = string\u003cbr/\u003e    encrypted_value = optional(string)\u003cbr/\u003e    plaintext_value = optional(string)\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_security_and_analysis\"\u003e\u003c/a\u003e [security\\_and\\_analysis](#input\\_security\\_and\\_analysis) | The repository's [security and analysis](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository) configuration.\u003cbr/\u003e\u003cbr/\u003eSee [Security and Analysis Configuration](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository#security-and-analysis-configuration) for details. | \u003cpre\u003eobject({\u003cbr/\u003e    advanced_security = optional(object({\u003cbr/\u003e      status = string\u003cbr/\u003e    }))\u003cbr/\u003e    secret_scanning = optional(object({\u003cbr/\u003e      status = string\u003cbr/\u003e    }))\u003cbr/\u003e    secret_scanning_push_protection = optional(object({\u003cbr/\u003e      status = string\u003cbr/\u003e    }))\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) | 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) | 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_template\"\u003e\u003c/a\u003e [template](#input\\_template) | Use a template repository to create this resource.\u003cbr/\u003e\u003cbr/\u003eSee [Template Repositories](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/repository#template-repositories) for details. | \u003cpre\u003eobject({\u003cbr/\u003e    owner                = string\u003cbr/\u003e    repository           = string\u003cbr/\u003e    include_all_branches = optional(bool)\u003cbr/\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_topics\"\u003e\u003c/a\u003e [topics](#input\\_topics) | The list of topics of the repository.\u003cbr/\u003e\u003cbr/\u003eNOTE: This attribute is not compatible with the `github_repository_topics` resource. Use one of them.\u003cbr/\u003e`github_repository_topics` is only meant to be used if the repository itself is not handled via terraform, for example if it's only read as a datasource (see issue [#1845](https://github.com/integrations/terraform-provider-github/issues/1845)). | `set(string)` | `null` | no |\n| \u003ca name=\"input_variables\"\u003e\u003c/a\u003e [variables](#input\\_variables) | GitHub Actions variables for this repository. Create `github_actions_environment_variable` resource if `environment` key specified. | \u003cpre\u003elist(object({\u003cbr/\u003e    environment   = optional(string)\u003cbr/\u003e    variable_name = string\u003cbr/\u003e    value         = optional(string)\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_visibility\"\u003e\u003c/a\u003e [visibility](#input\\_visibility) | Can be `\"public\"` or `\"private\"`.\u003cbr/\u003e\u003cbr/\u003eIf your organization is associated with an enterprise account using GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+, visibility can also be `\"internal\"`.\u003cbr/\u003eThe `visibility` parameter overrides the `private` parameter.\" | `string` | `\"private\"` | no |\n| \u003ca name=\"input_vulnerability_alerts\"\u003e\u003c/a\u003e [vulnerability\\_alerts](#input\\_vulnerability\\_alerts) | Set to `true` to enable security alerts for vulnerable dependencies.\u003cbr/\u003e\u003cbr/\u003eEnabling requires alerts to be enabled on the owner level. (Note for importing: GitHub enables the alerts on public repos but disables them on private repos by default.)\u003cbr/\u003eSee [GitHub Documentation](https://help.github.com/en/github/managing-security-vulnerabilities/about-security-alerts-for-vulnerable-dependencies) for details.\u003cbr/\u003eNote that vulnerability alerts have not been successfully tested on any GitHub Enterprise instance and may be unavailable in those settings. | `bool` | `true` | no |\n| \u003ca name=\"input_web_commit_signoff_required\"\u003e\u003c/a\u003e [web\\_commit\\_signoff\\_required](#input\\_web\\_commit\\_signoff\\_required) | Require contributors to sign off on web-based commits. See more [here](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-commit-signoff-policy-for-your-repository). | `bool` | `false` | no |\n| \u003ca name=\"input_webhooks\"\u003e\u003c/a\u003e [webhooks](#input\\_webhooks) | List of webhooks. | \u003cpre\u003elist(object({\u003cbr/\u003e    events = set(string)\u003cbr/\u003e    configuration = object({\u003cbr/\u003e      url          = string\u003cbr/\u003e      content_type = string\u003cbr/\u003e      secret       = optional(string)\u003cbr/\u003e      insecure_ssl = optional(bool)\u003cbr/\u003e    })\u003cbr/\u003e    active = optional(bool)\u003cbr/\u003e  }))\u003c/pre\u003e | `[]` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_actions\"\u003e\u003c/a\u003e [actions](#output\\_actions) | GitHub Actions module outputs. |\n| \u003ca name=\"output_autolink_references\"\u003e\u003c/a\u003e [autolink\\_references](#output\\_autolink\\_references) | Autolink references. |\n| \u003ca name=\"output_branch_default\"\u003e\u003c/a\u003e [branch\\_default](#output\\_branch\\_default) | Default branch name. |\n| \u003ca name=\"output_branch_protections\"\u003e\u003c/a\u003e [branch\\_protections](#output\\_branch\\_protections) | Branch protection rules. |\n| \u003ca name=\"output_branches\"\u003e\u003c/a\u003e [branches](#output\\_branches) | Branches in repository. |\n| \u003ca name=\"output_collaborators\"\u003e\u003c/a\u003e [collaborators](#output\\_collaborators) | List of repository collaborators. |\n| \u003ca name=\"output_dependabot_security_updates_enabled\"\u003e\u003c/a\u003e [dependabot\\_security\\_updates\\_enabled](#output\\_dependabot\\_security\\_updates\\_enabled) | Whether dependabot security updates enabled for this repository. |\n| \u003ca name=\"output_files\"\u003e\u003c/a\u003e [files](#output\\_files) | Files managed by this module. |\n| \u003ca name=\"output_issue_labels\"\u003e\u003c/a\u003e [issue\\_labels](#output\\_issue\\_labels) | Repository issue labels. |\n| \u003ca name=\"output_repository\"\u003e\u003c/a\u003e [repository](#output\\_repository) | Repository details. |\n| \u003ca name=\"output_rulesets\"\u003e\u003c/a\u003e [rulesets](#output\\_rulesets) | Repository rulesets. |\n| \u003ca name=\"output_secrets_and_variables\"\u003e\u003c/a\u003e [secrets\\_and\\_variables](#output\\_secrets\\_and\\_variables) | Repository Actions, Codespaces and Dependabot secrets and variables. |\n| \u003ca name=\"output_webhooks\"\u003e\u003c/a\u003e [webhooks](#output\\_webhooks) | Repository webhooks. |\n\u003c!-- END_TF_DOCS --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flasuillard%2Fterraform-github-repository","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flasuillard%2Fterraform-github-repository","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flasuillard%2Fterraform-github-repository/lists"}