Skip to content

Commit 6acfb85

Browse files
authored
Merge pull request #1358 from hashicorp/el/add_manage_agent_pools_to_org_access
[#TF-15257] add manage-agent-pools to team organization access
2 parents 507cd6e + 8575740 commit 6acfb85

File tree

4 files changed

+29
-1
lines changed

4 files changed

+29
-1
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
## Unreleased
22

3+
FEATURES:
4+
* `r/tfe_team`: Add attribute `manage_agent_pools` to `organization_access` on `tfe_team` by @emlanctot [#1358](https://github.com/hashicorp/terraform-provider-tfe/pull/1358)
5+
36
## v0.56.0
47

58
ENHANCEMENTS:

internal/provider/resource_tfe_team.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,11 @@ func resourceTFETeam() *schema.Resource {
120120
Optional: true,
121121
Default: false,
122122
},
123+
"manage_agent_pools": {
124+
Type: schema.TypeBool,
125+
Optional: true,
126+
Default: false,
127+
},
123128
},
124129
},
125130
},
@@ -173,6 +178,7 @@ func resourceTFETeamCreate(d *schema.ResourceData, meta interface{}) error {
173178
ManageTeams: tfe.Bool(organizationAccess["manage_teams"].(bool)),
174179
ManageOrganizationAccess: tfe.Bool(organizationAccess["manage_organization_access"].(bool)),
175180
AccessSecretTeams: tfe.Bool(organizationAccess["access_secret_teams"].(bool)),
181+
ManageAgentPools: tfe.Bool(organizationAccess["manage_agent_pools"].(bool)),
176182
}
177183
}
178184

@@ -236,6 +242,7 @@ func resourceTFETeamRead(d *schema.ResourceData, meta interface{}) error {
236242
"manage_teams": team.OrganizationAccess.ManageTeams,
237243
"manage_organization_access": team.OrganizationAccess.ManageOrganizationAccess,
238244
"access_secret_teams": team.OrganizationAccess.AccessSecretTeams,
245+
"manage_agent_pools": team.OrganizationAccess.ManageAgentPools,
239246
}}
240247
if err := d.Set("organization_access", organizationAccess); err != nil {
241248
return fmt.Errorf("error setting organization access for team %s: %w", d.Id(), err)
@@ -276,6 +283,7 @@ func resourceTFETeamUpdate(d *schema.ResourceData, meta interface{}) error {
276283
ManageTeams: tfe.Bool(organizationAccess["manage_teams"].(bool)),
277284
ManageOrganizationAccess: tfe.Bool(organizationAccess["manage_organization_access"].(bool)),
278285
AccessSecretTeams: tfe.Bool(organizationAccess["access_secret_teams"].(bool)),
286+
ManageAgentPools: tfe.Bool(organizationAccess["manage_agent_pools"].(bool)),
279287
}
280288
}
281289

internal/provider/resource_tfe_team_test.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ func TestAccTFETeam_full(t *testing.T) {
8585
"tfe_team.foobar", "organization_access.0.manage_organization_access", "true"),
8686
resource.TestCheckResourceAttr(
8787
"tfe_team.foobar", "organization_access.0.access_secret_teams", "true"),
88+
resource.TestCheckResourceAttr(
89+
"tfe_team.foobar", "organization_access.0.manage_agent_pools", "true"),
8890
),
8991
},
9092
},
@@ -138,6 +140,8 @@ func TestAccTFETeam_full_update(t *testing.T) {
138140
"tfe_team.foobar", "organization_access.0.manage_organization_access", "true"),
139141
resource.TestCheckResourceAttr(
140142
"tfe_team.foobar", "organization_access.0.access_secret_teams", "true"),
143+
resource.TestCheckResourceAttr(
144+
"tfe_team.foobar", "organization_access.0.manage_agent_pools", "true"),
141145
),
142146
},
143147
{
@@ -178,6 +182,8 @@ func TestAccTFETeam_full_update(t *testing.T) {
178182
"tfe_team.foobar", "organization_access.0.manage_organization_access", "false"),
179183
resource.TestCheckResourceAttr(
180184
"tfe_team.foobar", "organization_access.0.access_secret_teams", "false"),
185+
resource.TestCheckResourceAttr(
186+
"tfe_team.foobar", "organization_access.0.manage_agent_pools", "false"),
181187
),
182188
},
183189
{
@@ -219,6 +225,8 @@ func TestAccTFETeam_full_update(t *testing.T) {
219225
"tfe_team.foobar", "organization_access.0.manage_organization_access", "false"),
220226
resource.TestCheckResourceAttr(
221227
"tfe_team.foobar", "organization_access.0.access_secret_teams", "false"),
228+
resource.TestCheckResourceAttr(
229+
"tfe_team.foobar", "organization_access.0.manage_agent_pools", "false"),
222230
),
223231
},
224232
},
@@ -480,6 +488,9 @@ func testAccCheckTFETeamAttributes_full(
480488
if !team.OrganizationAccess.AccessSecretTeams {
481489
return fmt.Errorf("OrganizationAccess.AccessSecretTeams should be true")
482490
}
491+
if !team.OrganizationAccess.ManageAgentPools {
492+
return fmt.Errorf("OrganizationAccess.ManageAgentPools should be true")
493+
}
483494

484495
if team.SSOTeamID != "team-test-sso-id" {
485496
return fmt.Errorf("Bad SSO Team ID: %s", team.SSOTeamID)
@@ -527,6 +538,9 @@ func testAccCheckTFETeamAttributes_full_update(
527538
if team.OrganizationAccess.AccessSecretTeams {
528539
return fmt.Errorf("OrganizationAccess.AccessSecretTeams should be false")
529540
}
541+
if team.OrganizationAccess.ManageAgentPools {
542+
return fmt.Errorf("OrganizationAccess.ManageAgentPools should be false")
543+
}
530544

531545
if team.SSOTeamID != "changed-sso-id" {
532546
return fmt.Errorf("Bad SSO Team ID: %s", team.SSOTeamID)
@@ -598,6 +612,7 @@ resource "tfe_team" "foobar" {
598612
manage_teams = true
599613
manage_organization_access = true
600614
access_secret_teams = true
615+
manage_agent_pools = true
601616
}
602617
sso_team_id = "team-test-sso-id"
603618
}`, rInt)
@@ -631,6 +646,7 @@ resource "tfe_team" "foobar" {
631646
manage_teams = false
632647
manage_organization_access = false
633648
access_secret_teams = false
649+
manage_agent_pools = false
634650
}
635651
636652
sso_team_id = "changed-sso-id"

website/docs/r/team.html.markdown

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Organization Permission usage:
2424

2525
```hcl
2626
resource "tfe_team" "test" {
27-
name = "my-team-name"
27+
name = "my-team-name
2828
organization = "my-org-name"
2929
organization_access {
3030
manage_vcs_settings = true
@@ -58,6 +58,7 @@ The `organization_access` block supports:
5858
* `manage_teams` - (Optional) Allow members to create, update, and delete teams.
5959
* `manage_organization_access` - (Optional) Allow members to update the organization access settings of teams.
6060
* `access_secret_teams` - (Optional) Allow members access to secret teams up to the level of permissions granted by their team permissions setting.
61+
* `manage_agent_pools` - (Optional) Allow members to create, edit, and delete agent pools within their organization.
6162

6263
## Attributes Reference
6364

0 commit comments

Comments
 (0)