From 2b1e84b9a377b5e0e68b66b72066d11e543dfc2c Mon Sep 17 00:00:00 2001 From: Karl Kirch Date: Tue, 21 Mar 2023 09:27:14 -0500 Subject: [PATCH 1/5] Use maintain and write roles for projects --- tfe/resource_tfe_team_project_access.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tfe/resource_tfe_team_project_access.go b/tfe/resource_tfe_team_project_access.go index 859e2e85f..02435b097 100644 --- a/tfe/resource_tfe_team_project_access.go +++ b/tfe/resource_tfe_team_project_access.go @@ -6,11 +6,12 @@ package tfe import ( "context" "errors" + "log" + tfe "github.com/hashicorp/go-tfe" "github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" - "log" ) func resourceTFETeamProjectAccess() *schema.Resource { @@ -32,6 +33,8 @@ func resourceTFETeamProjectAccess() *schema.Resource { ValidateFunc: validation.StringInSlice( []string{ string(tfe.TeamProjectAccessAdmin), + string(tfe.TeamProjectAccessWrite), + string(tfe.TeamProjectAccessMaintain), string(tfe.TeamProjectAccessRead), }, false, From a7263609c7b882b4c282c2f75fef0e21f74f61c1 Mon Sep 17 00:00:00 2001 From: Jeff Bonhag Date: Wed, 22 Mar 2023 10:02:48 -0400 Subject: [PATCH 2/5] Bump go-tfe version --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 47f80bb82..66f8714fb 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-retryablehttp v0.7.2 // indirect github.com/hashicorp/go-slug v0.10.1 - github.com/hashicorp/go-tfe v1.19.0 + github.com/hashicorp/go-tfe v1.20.0 github.com/hashicorp/go-version v1.6.0 github.com/hashicorp/hcl v0.0.0-20180404174102-ef8a98b0bbce github.com/hashicorp/hcl/v2 v2.16.1 // indirect diff --git a/go.sum b/go.sum index 430ec76f2..48279f7fa 100644 --- a/go.sum +++ b/go.sum @@ -105,8 +105,8 @@ github.com/hashicorp/go-retryablehttp v0.7.2 h1:AcYqCvkpalPnPF2pn0KamgwamS42TqUD github.com/hashicorp/go-retryablehttp v0.7.2/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= github.com/hashicorp/go-slug v0.10.1 h1:05SCRWCBpCxOeP7stQHvMgOz0raCBCekaytu8Rg/RZ4= github.com/hashicorp/go-slug v0.10.1/go.mod h1:Ib+IWBYfEfJGI1ZyXMGNbu2BU+aa3Dzu41RKLH301v4= -github.com/hashicorp/go-tfe v1.19.0 h1:CKSrpUfpH0kTF/rC9qrDkKHNgQVHUqnlmSSLyVgVv5g= -github.com/hashicorp/go-tfe v1.19.0/go.mod h1:sk16Tskky9E4ywt0DJN8+qalnHuc11EW45+U8+EaZRs= +github.com/hashicorp/go-tfe v1.20.0 h1:kDxxLbVrhbZiHZp5yN5eIsCCaY2kEU5T9eO1NI8/KRg= +github.com/hashicorp/go-tfe v1.20.0/go.mod h1:sk16Tskky9E4ywt0DJN8+qalnHuc11EW45+U8+EaZRs= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= From 97fdbc6bf9ec6092d65b6862707f2cec7158f67a Mon Sep 17 00:00:00 2001 From: Jeff Bonhag Date: Wed, 22 Mar 2023 10:11:39 -0400 Subject: [PATCH 3/5] Add additional access roles to test case --- tfe/resource_tfe_team_project_access_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tfe/resource_tfe_team_project_access_test.go b/tfe/resource_tfe_team_project_access_test.go index f8da2f206..1888ebd09 100644 --- a/tfe/resource_tfe_team_project_access_test.go +++ b/tfe/resource_tfe_team_project_access_test.go @@ -14,11 +14,11 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" ) -func TestAccTFETeamProjectAccess_admin(t *testing.T) { +func TestAccTFETeamProjectAccess(t *testing.T) { tmAccess := &tfe.TeamProjectAccess{} rInt := rand.New(rand.NewSource(time.Now().UnixNano())).Int() - for _, access := range []tfe.TeamProjectAccessType{tfe.TeamProjectAccessAdmin, tfe.TeamProjectAccessRead} { + for _, access := range []tfe.TeamProjectAccessType{tfe.TeamProjectAccessAdmin, tfe.TeamProjectAccessMaintain, tfe.TeamProjectAccessWrite, tfe.TeamProjectAccessRead} { resource.Test(t, resource.TestCase{ PreCheck: func() { testAccPreCheck(t) }, Providers: testAccProviders, From 36a01acfdc9cfda1b2bc6d29e7c74f803861c0b2 Mon Sep 17 00:00:00 2001 From: Jeff Bonhag Date: Wed, 22 Mar 2023 10:44:04 -0400 Subject: [PATCH 4/5] Update CHANGELOG and documentation --- CHANGELOG.md | 1 + website/docs/r/team_project_access.html.markdown | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e99f3fad..d78a9066e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ FEATURES: * **New Data Source**: d/tfe_organization_tags is a new data source to allow reading all workspace tags within an organization, by @rhughes1 ([#773](https://github.com/hashicorp/terraform-provider-tfe/pull/773)) * r/workspace, d/workspace: Add `source_name` and `source_url` to workspaces ([#527](https://github.com/hashicorp/terraform-provider-tfe/pull/527)) * `r/tfe_team`: Add `read_projects` and `read_workspaces` to the `organization_access` block. ([#796](https://github.com/hashicorp/terraform-provider-tfe/pull/796)) +* r/tfe_team_project_access and d/tfe_team_project_access: Added support for "maintain" and "write" project permissions ([#826](https://github.com/hashicorp/terraform-provider-tfe/pull/826)) ENHANCEMENTS: * r/tfe_organization_membership: Organization Memberships can now be imported using `/` ([#715](https://github.com/hashicorp/terraform-provider-tfe/pull/715)) diff --git a/website/docs/r/team_project_access.html.markdown b/website/docs/r/team_project_access.html.markdown index 98d16f42d..945c63e4f 100644 --- a/website/docs/r/team_project_access.html.markdown +++ b/website/docs/r/team_project_access.html.markdown @@ -37,7 +37,7 @@ The following arguments are supported: * `team_id` - (Required) ID of the team to add to the project. * `project_id` - (Required) ID of the project to which the team will be added. -* `access` - (Required) Type of fixed access to grant. Valid values are `admin` or `read`. +* `access` - (Required) Type of fixed access to grant. Valid values are `admin`, `maintain`, `write`, or `read`. ## Attributes Reference From e5122bb235b43694a6c0e96ec5327ea326cbf9c8 Mon Sep 17 00:00:00 2001 From: Jeff Bonhag Date: Wed, 22 Mar 2023 11:07:09 -0400 Subject: [PATCH 5/5] Clean up beta cruft --- tfe/data_source_team_project_access_test.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/tfe/data_source_team_project_access_test.go b/tfe/data_source_team_project_access_test.go index 377b70068..4f02bc7c4 100644 --- a/tfe/data_source_team_project_access_test.go +++ b/tfe/data_source_team_project_access_test.go @@ -11,8 +11,6 @@ import ( ) func TestAccTFETeamProjectAccessDataSource_basic(t *testing.T) { - skipUnlessBeta(t) - tfeClient, err := getClientUsingEnv() if err != nil { t.Fatal(err)