From b92190e03ec7ce786f18755182cbe045af1cfe17 Mon Sep 17 00:00:00 2001 From: Glenn Sarti Date: Thu, 5 May 2022 10:48:49 +0800 Subject: [PATCH 1/3] Add manage_run_tasks to Org. Team Access Run Tasks added a new Organizational access type called `manage_run_tasks`. This commit updates the organization_access of Teams to include this new access type. --- tfe/resource_tfe_team.go | 8 ++++++++ tfe/resource_tfe_team_test.go | 20 ++++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/tfe/resource_tfe_team.go b/tfe/resource_tfe_team.go index 66aede983..ca460d057 100644 --- a/tfe/resource_tfe_team.go +++ b/tfe/resource_tfe_team.go @@ -69,6 +69,11 @@ func resourceTFETeam() *schema.Resource { Optional: true, Default: false, }, + "manage_run_tasks": { + Type: schema.TypeBool, + Optional: true, + Default: false, + }, }, }, }, @@ -111,6 +116,7 @@ func resourceTFETeamCreate(d *schema.ResourceData, meta interface{}) error { ManageVCSSettings: tfe.Bool(organizationAccess["manage_vcs_settings"].(bool)), ManageProviders: tfe.Bool(organizationAccess["manage_providers"].(bool)), ManageModules: tfe.Bool(organizationAccess["manage_modules"].(bool)), + ManageRunTasks: tfe.Bool(organizationAccess["manage_run_tasks"].(bool)), } } @@ -166,6 +172,7 @@ func resourceTFETeamRead(d *schema.ResourceData, meta interface{}) error { "manage_vcs_settings": team.OrganizationAccess.ManageVCSSettings, "manage_providers": team.OrganizationAccess.ManageProviders, "manage_modules": team.OrganizationAccess.ManageModules, + "manage_run_tasks": team.OrganizationAccess.ManageRunTasks, }} if err := d.Set("organization_access", organizationAccess); err != nil { return fmt.Errorf("error setting organization access for team %s: %s", d.Id(), err) @@ -198,6 +205,7 @@ func resourceTFETeamUpdate(d *schema.ResourceData, meta interface{}) error { ManageVCSSettings: tfe.Bool(organizationAccess["manage_vcs_settings"].(bool)), ManageProviders: tfe.Bool(organizationAccess["manage_providers"].(bool)), ManageModules: tfe.Bool(organizationAccess["manage_modules"].(bool)), + ManageRunTasks: tfe.Bool(organizationAccess["manage_run_tasks"].(bool)), } } diff --git a/tfe/resource_tfe_team_test.go b/tfe/resource_tfe_team_test.go index e048f57cb..56c90624c 100644 --- a/tfe/resource_tfe_team_test.go +++ b/tfe/resource_tfe_team_test.go @@ -65,6 +65,8 @@ func TestAccTFETeam_full(t *testing.T) { "tfe_team.foobar", "organization_access.0.manage_providers", "true"), resource.TestCheckResourceAttr( "tfe_team.foobar", "organization_access.0.manage_modules", "true"), + resource.TestCheckResourceAttr( + "tfe_team.foobar", "organization_access.0.manage_run_tasks", "true"), ), }, }, @@ -102,6 +104,8 @@ func TestAccTFETeam_full_update(t *testing.T) { "tfe_team.foobar", "organization_access.0.manage_providers", "true"), resource.TestCheckResourceAttr( "tfe_team.foobar", "organization_access.0.manage_modules", "true"), + resource.TestCheckResourceAttr( + "tfe_team.foobar", "organization_access.0.manage_run_tasks", "true"), ), }, { @@ -126,6 +130,8 @@ func TestAccTFETeam_full_update(t *testing.T) { "tfe_team.foobar", "organization_access.0.manage_providers", "false"), resource.TestCheckResourceAttr( "tfe_team.foobar", "organization_access.0.manage_modules", "false"), + resource.TestCheckResourceAttr( + "tfe_team.foobar", "organization_access.0.manage_run_tasks", "false"), resource.TestCheckResourceAttr( "tfe_team.foobar", "sso_team_id", "changed-sso-id"), ), @@ -151,6 +157,8 @@ func TestAccTFETeam_full_update(t *testing.T) { "tfe_team.foobar", "organization_access.0.manage_providers", "false"), resource.TestCheckResourceAttr( "tfe_team.foobar", "organization_access.0.manage_modules", "false"), + resource.TestCheckResourceAttr( + "tfe_team.foobar", "organization_access.0.manage_run_tasks", "false"), resource.TestCheckResourceAttr( "tfe_team.foobar", "sso_team_id", ""), ), @@ -240,6 +248,9 @@ func testAccCheckTFETeamAttributes_full( if !team.OrganizationAccess.ManageWorkspaces { return fmt.Errorf("OrganizationAccess.ManageWorkspaces should be true") } + if !team.OrganizationAccess.ManageRunTasks { + return fmt.Errorf("OrganizationAccess.ManageRunTasks should be true") + } if *team.SSOTeamID != "team-test-sso-id" { return fmt.Errorf("Bad SSO Team ID: %s", *team.SSOTeamID) } @@ -268,6 +279,9 @@ func testAccCheckTFETeamAttributes_full_update( if team.OrganizationAccess.ManageWorkspaces { return fmt.Errorf("OrganizationAccess.ManageWorkspaces should be false") } + if team.OrganizationAccess.ManageRunTasks { + return fmt.Errorf("OrganizationAccess.ManageRunTasks should be false") + } if *team.SSOTeamID != "changed-sso-id" { return fmt.Errorf("Bad SSO Team ID: %s", *team.SSOTeamID) @@ -323,12 +337,13 @@ resource "tfe_team" "foobar" { organization = tfe_organization.foobar.id visibility = "organization" - + organization_access { manage_policies = true manage_policy_overrides = true manage_workspaces = true manage_vcs_settings = true + manage_run_tasks = true manage_providers = true manage_modules = true } @@ -348,12 +363,13 @@ resource "tfe_team" "foobar" { organization = tfe_organization.foobar.id visibility = "secret" - + organization_access { manage_policies = false manage_policy_overrides = false manage_workspaces = false manage_vcs_settings = false + manage_run_tasks = false manage_providers = false manage_modules = false } From 4f83e8dcd9daa79a2dc5be76b9e7099682710bc1 Mon Sep 17 00:00:00 2001 From: Glenn Sarti Date: Tue, 10 May 2022 09:55:16 +0800 Subject: [PATCH 2/3] Update docs for new manage_run_tasks organization access --- website/docs/r/team.html.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/website/docs/r/team.html.markdown b/website/docs/r/team.html.markdown index 4d97d61e8..ee3b9d740 100644 --- a/website/docs/r/team.html.markdown +++ b/website/docs/r/team.html.markdown @@ -51,6 +51,7 @@ The `organization_access` block supports: * `manage_vcs_settings` - (Optional) Allows members to manage the organization's VCS Providers and SSH keys. * `manage_providers` - (Optional) Allow members to publish and delete providers in the organization's private registry. * `manage_modules` - (Optional) Allow members to publish and delete modules in the organization's private registry. +* `manage_run_tasks` - (Optional) Allow members to create, edit, and delete the organization's run tasks. ## Attributes Reference From d5ed4d36b846888f24745c4940930d453bffa0f2 Mon Sep 17 00:00:00 2001 From: Glenn Sarti Date: Tue, 10 May 2022 09:57:44 +0800 Subject: [PATCH 3/3] Update changelog for manage_run_tasks org. access --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a60665f4..4dcc6c4e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.32.0 (Unreleased) + +FEATURES: +* r/team, d/team: Add manage_run_tasks to the tfe_team organization_access attributes ([#486](https://github.com/hashicorp/terraform-provider-tfe/pull/486)) + ## 0.31.0 (April 21, 2022) BUG FIXES: