An open API service indexing awesome lists of open source software.

https://github.com/antmelekhin/terraform-gitlab-project

A Terraform module to manage GitLab Projects.
https://github.com/antmelekhin/terraform-gitlab-project

gitlab gitlab-project iac terraform terraform-module

Last synced: 5 days ago
JSON representation

A Terraform module to manage GitLab Projects.

Awesome Lists containing this project

README

        

# GitLab project module

This module manages GitLab projects.

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.13 |
| [gitlab](#requirement\_gitlab) | >= 17.5.0 |

## Providers

| Name | Version |
|------|---------|
| [gitlab](#provider\_gitlab) | >= 17.5.0 |

## Modules

No modules.

## Resources

| Name | Type |
|------|------|
| [gitlab_project.this](https://registry.terraform.io/providers/gitlabhq/gitlab/latest/docs/resources/project) | resource |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [name](#input\_name) | The name of the project. | `string` | n/a | yes |
| [allow\_merge\_on\_skipped\_pipeline](#input\_allow\_merge\_on\_skipped\_pipeline) | Set to `true` if you want to treat skipped pipelines as if they finished with success. | `bool` | `false` | no |
| [archive\_on\_destroy](#input\_archive\_on\_destroy) | Set to `true` to archive the project instead of deleting on destroy. | `bool` | `false` | no |
| [archived](#input\_archived) | Whether the project is in read-only mode (archived). | `bool` | `false` | no |
| [description](#input\_description) | A description of the project. | `string` | `null` | no |
| [merge\_method](#input\_merge\_method) | Set the merge method. Valid values are `merge`, `rebase_merge`, `ff`. | `string` | `"merge"` | no |
| [merge\_pipelines\_enabled](#input\_merge\_pipelines\_enabled) | Enable or disable merge pipelines. | `bool` | `false` | no |
| [merge\_requests\_access\_level](#input\_merge\_requests\_access\_level) | Set the merge requests access level. Valid values are `disabled`, `private`, `enabled`. | `string` | `"enabled"` | no |
| [merge\_requests\_enabled](#input\_merge\_requests\_enabled) | Enable merge requests for the project. | `bool` | `true` | no |
| [merge\_trains\_enabled](#input\_merge\_trains\_enabled) | Enable or disable merge trains. Requires `merge_pipelines_enabled` to be set to `true` to take effect. | `bool` | `false` | no |
| [namespace\_id](#input\_namespace\_id) | The namespace (group or user) of the project. Defaults to your user. | `number` | `null` | no |
| [only\_allow\_merge\_if\_all\_discussions\_are\_resolved](#input\_only\_allow\_merge\_if\_all\_discussions\_are\_resolved) | Set to `true` if you want allow merges only if all discussions are resolved. | `bool` | `false` | no |
| [only\_allow\_merge\_if\_pipeline\_succeeds](#input\_only\_allow\_merge\_if\_pipeline\_succeeds) | Set to `true` if you want allow merges only if a pipeline succeeds. | `bool` | `false` | no |
| [path](#input\_path) | The path of the repository. | `string` | `null` | no |
| [remove\_source\_branch\_after\_merge](#input\_remove\_source\_branch\_after\_merge) | Enable `Delete source branch` option by default for all new merge requests. | `bool` | `false` | no |
| [topics](#input\_topics) | The list of topics for the project. | `set(string)` | `[]` | no |
| [visibility\_level](#input\_visibility\_level) | Set to `public` to create a public project. Valid values are `private`, `internal`, `public`. | `string` | `"private"` | no |

## Outputs

| Name | Description |
|------|-------------|
| [http\_url\_to\_repo](#output\_http\_url\_to\_repo) | URL that can be provided to `git clone` to clone the repository via HTTPS. |
| [id](#output\_id) | The ID of this resource. |
| [name](#output\_name) | The name of the project. |
| [path\_with\_namespace](#output\_path\_with\_namespace) | The path of the repository with namespace. |
| [ssh\_url\_to\_repo](#output\_ssh\_url\_to\_repo) | URL that can be provided to `git clone` to clone the repository via SSH. |
| [web\_url](#output\_web\_url) | URL that can be used to find the project in a browser. |