integrations / integrations/terraform-provider-github

[FEAT]: Implement complete management of org role assignments

Open
#3,575 2 comments 0 reactions 0 assignees View on GitHub
Type: Feature
Dominant language
Go
Stars
1.2k
Forks
1k
Avg merge
1d 14h
Merged PRs (30d)
8

Description

### Describe the need

In the current implementation the `github_organization_role_user` and `github_organization_role_team` resources support assigning a role to a user or a team, but they do not allow for authoritative control of the role assignment. Specifically, I cannot use terraform to specify that a role should not be assigned to anyone individually ("assign this role to an empty set of users").

Perhaps, new resources, `github_organization_role_teams` and `github_organization_role_users`, could be implemented to declaratively specify complete lists of teams and users to assign a role to?

### GitHub Installation Type

- [x] GitHub.com (Free, Pro, or Team)
- [ ] GitHub Enterprise Server (on-premises)
- [x] GitHub Enterprise Cloud with Personal Accounts (github.com)
- [x] GitHub Enterprise Cloud with Managed Users/EMU (github.com)
- [ ] GitHub Enterprise Cloud with Data Residency (*.ghe.com)
- [ ] I don't know

### Relevant log output

```shell

```

### Code of Conduct

- [x] I agree to follow this project's Code of Conduct

Contributor guide

Open the contributing guide

Research direction

Start by reading the existing github_organization_role_user and github_organization_role_team resources and the provider's resource patterns. Determine how complete user and team assignment lists, including empty lists, should be represented and reconciled. Done means Terraform can authoritatively manage the full assignments for each role, including removing all individual assignments.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, go, terraform
Domain
devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.