
This PR adds two new resources, _gitea_team_membership_ & _gitea_team_members_, in an attempt to decouple _gitea_team_ resources from team memberships. This facilitates the removal of members from teams without altering/recreating an existing _team_ resource. This PR adresses this issue: https://gitea.com/gitea/terraform-provider-gitea/issues/30 The ability to set members in the _gitea_team_ resource has been removed. The resources proposed here are inspired by similar resources in the _GitHub_ provider: * [team_members](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/team_members) * [team_membership](https://registry.terraform.io/providers/integrations/github/latest/docs/resources/team_membership) # gitea_team_members A single resource manages all members of a team. - This resource must be recreated when membership changes. This means, that other team members will temporarily loose their membership until the recreation of the resource is complete. - If the recreation of the resource fails, other users will have lost their membership until the resource can be recreated. # gitea_team_membership A single resource holds the relationship between a single user and a single team. - Memberships can be deleted without affecting other users. Reviewed-on: https://gitea.com/gitea/terraform-provider-gitea/pulls/36 Reviewed-by: techknowlogick <techknowlogick@noreply.gitea.com> Co-authored-by: Tobias Balle-Petersen <tobiasbp@gmail.com> Co-committed-by: Tobias Balle-Petersen <tobiasbp@gmail.com>
81 lines
2.4 KiB
Markdown
81 lines
2.4 KiB
Markdown
---
|
|
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
|
page_title: "gitea_team Resource - terraform-provider-gitea"
|
|
subcategory: ""
|
|
description: |-
|
|
gitea_team manages Team that are part of an organisation.
|
|
---
|
|
|
|
# gitea_team (Resource)
|
|
|
|
`gitea_team` manages Team that are part of an organisation.
|
|
|
|
## Example Usage
|
|
|
|
```terraform
|
|
resource "gitea_org" "test_org" {
|
|
name = "test-org"
|
|
}
|
|
|
|
resource "gitea_user" "test" {
|
|
username = "test"
|
|
login_name = "test"
|
|
password = "Geheim1!"
|
|
email = "test@user.dev"
|
|
must_change_password = false
|
|
admin = true
|
|
}
|
|
|
|
|
|
resource "gitea_team" "test_team" {
|
|
name = "Devs"
|
|
organisation = gitea_org.test_org.name
|
|
description = "Devs of Test Org"
|
|
permission = "write"
|
|
members = [gitea_user.test.username]
|
|
}
|
|
|
|
|
|
resource "gitea_repository" "test" {
|
|
username = gitea_org.test_org.name
|
|
name = "test"
|
|
private = true
|
|
issue_labels = "Default"
|
|
license = "MIT"
|
|
gitignores = "Go"
|
|
}
|
|
|
|
resource "gitea_team" "test_team_restricted" {
|
|
name = "Restricted Devs"
|
|
organisation = gitea_org.test_org.name
|
|
description = "Restricted Devs of Test Org"
|
|
permission = "write"
|
|
members = [gitea_user.test.username]
|
|
include_all_repositories = false
|
|
repositories = [gitea_repository.test.name]
|
|
}
|
|
```
|
|
|
|
<!-- schema generated by tfplugindocs -->
|
|
## Schema
|
|
|
|
### Required
|
|
|
|
- `name` (String) Name of the Team
|
|
- `organisation` (String) The organisation which this Team is part of.
|
|
|
|
### Optional
|
|
|
|
- `can_create_repos` (Boolean) Flag if the Teams members should be able to create Rpositories in the Organisation
|
|
- `description` (String) Description of the Team
|
|
- `include_all_repositories` (Boolean) Flag if the Teams members should have access to all Repositories in the Organisation
|
|
- `permission` (String) Permissions associated with this Team
|
|
Can be `none`, `read`, `write`, `admin` or `owner`
|
|
- `repositories` (List of String) List of Repositories that should be part of this team
|
|
- `units` (String) List of types of Repositories that should be allowed to be created from Team members.
|
|
Can be `repo.code`, `repo.issues`, `repo.ext_issues`, `repo.wiki`, `repo.pulls`, `repo.releases`, `repo.projects` and/or `repo.ext_wiki`
|
|
|
|
### Read-Only
|
|
|
|
- `id` (String) The ID of this resource.
|