https://github.com/uplink-systems/terraform-module-azuredevops-project-git-repository
Terraform module to manage Azure DevOps project's Git repositories
https://github.com/uplink-systems/terraform-module-azuredevops-project-git-repository
azure-devops terraform
Last synced: 4 months ago
JSON representation
Terraform module to manage Azure DevOps project's Git repositories
- Host: GitHub
- URL: https://github.com/uplink-systems/terraform-module-azuredevops-project-git-repository
- Owner: uplink-systems
- License: eupl-1.2
- Created: 2025-01-21T12:03:51.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-01-31T07:52:12.000Z (5 months ago)
- Last Synced: 2025-01-31T08:30:44.261Z (5 months ago)
- Topics: azure-devops, terraform
- Language: HCL
- Homepage:
- Size: 8.79 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Module 'terraform-module-azuredevops-project-git-repository'
### Description
The module terraform-module-project-git-repository manages Azure DevOps project Git repositories.
### Requirements
| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.9.0 |
| [microsoft\/azuredevops](#requirement\_azuredevops) | ~> 1.5 |### Resources
| Name | Type |
|------|------|
| [azuredevops_git_repository.git_repository](https://registry.terraform.io/providers/microsoft/azuredevops/latest/docs/resources/git_repository) | resource |
| [azuredevops_repository_policy_author_email_pattern.author_email_pattern](https://registry.terraform.io/providers/microsoft/azuredevops/latest/docs/resources/repository_policy_author_email_pattern) | resource |
| [azuredevops_repository_policy_case_enforcement.case_enforcement](https://registry.terraform.io/providers/microsoft/azuredevops/latest/docs/resources/repository_policy_case_enforcement) | resource |
| [azuredevops_repository_policy_check_credentials.check_credentials](https://registry.terraform.io/providers/microsoft/azuredevops/latest/docs/resources/repository_policy_check_credentials) | resource |
| [azuredevops_repository_policy_file_path_pattern.file_path_pattern](https://registry.terraform.io/providers/microsoft/azuredevops/latest/docs/resources/repository_policy_file_path_pattern) | resource |
| [azuredevops_repository_policy_max_file_size.max_file_size](https://registry.terraform.io/providers/microsoft/azuredevops/latest/docs/resources/repository_policy_max_file_size) | resource |
| [azuredevops_repository_policy_max_path_length.max_path_length](https://registry.terraform.io/providers/microsoft/azuredevops/latest/docs/resources/repository_policy_max_path_length) | resource |
| [azuredevops_repository_policy_reserved_names.reserved_names](https://registry.terraform.io/providers/microsoft/azuredevops/latest/docs/resources/repository_policy_reserved_names) | resource |### Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [git\_repository](#input\_git\_repository) | git_repository main variable with resource attributes |type = object({| none | yes |
name = string
project_id = string
default_branch = optional(string, "refs/heads/main")
disabled = optional(bool, false)
initialization = optional(object({
init_type = optional(string, "Clean")
source_type = optional(string, null)
source_url = optional(string, null)
service_connection_id = optional(string, null)
}), {})
parent_repository_id = optional(string, null)
})
| [repository\_policy](#input\_repository\_policy) | repository_policy main variable with resource attributes for repository-level policies |type = object({| none | no |
author_email_pattern = optional(object({
enabled = optional(bool, true)
blocking = optional(bool, true)
author_email_patterns = list(string)
}), {
enabled = false
author_email_patterns = ["*@example.code"]
})
case_enforcment = optional(object({
enabled = optional(bool, true)
blocking = optional(bool, true)
enforce_consistent_case = optional(bool, true)
}), {
enabled = false
enforce_consistent_case = false
})
check_credentials = optional(object({
enabled = optional(bool, true)
blocking = optional(bool, true)
}), { enabled = false })
file_path_pattern = optional(object({
enabled = optional(bool, true)
blocking = optional(bool, true)
file_path_patterns = list(string)
}), {
enabled = false
file_path_patterns = ["example.code","/code/*.example"]
})
max_file_size = optional(object({
enabled = optional(bool, true)
blocking = optional(bool, true)
max_file_size = optional(number, 10)
}), { enabled = false })
max_path_length = optional(object({
enabled = optional(bool, true)
blocking = optional(bool, true)
max_path_length = optional(number, 1000)
}), { enabled = false })
reserved_names = optional(object({
enabled = optional(bool, true)
blocking = optional(bool, true)
}), { enabled = false })
})### Outputs
| Name | Description |
|------|-------------|
| [git\_repository](#output\_git\_repository) | list of all exported attributes values from the git_repository resource |
| [repository\_policy\_author\_email\_pattern](#output\_repository\_policy\_author\_email\_pattern) | list of all exported attributes values from the repository_policy_author_email_pattern resource |
| [repository\_policy\_case\_enforcement](#output\_repository\_policy\_case\_enforcement) | list of all exported attributes values from the repository_policy_case_enforcement resource |
| [repository\_policy\_file\_path\_pattern](#output\_repository\_policy\_file\_path\_pattern) | list of all exported attributes values from the repository_policy_file_path_pattern resource |
| [repository\_policy\_max\_file\_size](#output\_repository\_policy\_max\_file\_size) | list of all exported attributes values from the repository_policy_max_file_size resource |
| [repository\_policy\_max\_path\_length](#output\_repository\_policy\_max\_path\_length) | list of all exported attributes values from the repository_policy_max_path_length resource |
| [repository\_policy\_reserved\_names](#output\_repository\_policy\_reserved\_names) | list of all exported attributes values from the repository_policy_reserved_names resource |### Known Issues
Known issues are documented with the GitHub repo's issues functionality. Please filter the issues by **Types** and select **Known Issue** to get the appropriate issues and read the results carefully before using the module to avoid negative impacts on your infrastructure.
[list of Known Issues](https://github.com/uplink-systems/terraform-module-azuredevops-project-git-repository/issues?q=type%3A%22known%20issue%22)