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.
 |