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>
2.4 KiB
2.4 KiB
page_title | subcategory | description |
---|---|---|
gitea_team Resource - terraform-provider-gitea | 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
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
Required
name
(String) Name of the Teamorganisation
(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 Organisationdescription
(String) Description of the Teaminclude_all_repositories
(Boolean) Flag if the Teams members should have access to all Repositories in the Organisationpermission
(String) Permissions associated with this Team Can benone
,read
,write
,admin
orowner
repositories
(List of String) List of Repositories that should be part of this teamunits
(String) List of types of Repositories that should be allowed to be created from Team members. Can berepo.code
,repo.issues
,repo.ext_issues
,repo.wiki
,repo.pulls
,repo.releases
,repo.projects
and/orrepo.ext_wiki
Read-Only
id
(String) The ID of this resource.