From 6454be328fa183c1c014b2c1073abb4c77d348d6 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Fri, 24 May 2024 16:36:15 +0100 Subject: [PATCH 1/2] chore: add coder_workspace_owner to TestProviderEmpty, rm unused struct --- provider/provider_test.go | 1 + provider/workspace_owner.go | 5 ----- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/provider/provider_test.go b/provider/provider_test.go index c1e3c686..7069db09 100644 --- a/provider/provider_test.go +++ b/provider/provider_test.go @@ -33,6 +33,7 @@ func TestProviderEmpty(t *testing.T) { provider "coder" {} data "coder_provisioner" "me" {} data "coder_workspace" "me" {} + data "coder_workspace_owner" "me" {} data "coder_external_auth" "git" { id = "git" } diff --git a/provider/workspace_owner.go b/provider/workspace_owner.go index 5721b5c5..93708043 100644 --- a/provider/workspace_owner.go +++ b/provider/workspace_owner.go @@ -11,11 +11,6 @@ import ( "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" ) -type Role struct { - Name string `json:"name"` - DisplayName string `json:"display-name"` -} - func workspaceOwnerDataSource() *schema.Resource { return &schema.Resource{ Description: "Use this data source to fetch information about the workspace owner.", From 92f9cd5b9c0b048219080ba7695a996541440a80 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Fri, 24 May 2024 17:48:34 +0100 Subject: [PATCH 2/2] fix: do not set null values --- provider/workspace_owner.go | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/provider/workspace_owner.go b/provider/workspace_owner.go index 93708043..13e36187 100644 --- a/provider/workspace_owner.go +++ b/provider/workspace_owner.go @@ -15,53 +15,43 @@ func workspaceOwnerDataSource() *schema.Resource { return &schema.Resource{ Description: "Use this data source to fetch information about the workspace owner.", ReadContext: func(ctx context.Context, rd *schema.ResourceData, i interface{}) diag.Diagnostics { - if idStr, ok := os.LookupEnv("CODER_WORKSPACE_OWNER_ID"); ok { + if idStr := os.Getenv("CODER_WORKSPACE_OWNER_ID"); idStr != "" { rd.SetId(idStr) } else { rd.SetId(uuid.NewString()) } - if username, ok := os.LookupEnv("CODER_WORKSPACE_OWNER"); ok { + if username := os.Getenv("CODER_WORKSPACE_OWNER"); username != "" { _ = rd.Set("name", username) } else { _ = rd.Set("name", "default") } - if fullname, ok := os.LookupEnv("CODER_WORKSPACE_OWNER_NAME"); ok { + if fullname := os.Getenv("CODER_WORKSPACE_OWNER_NAME"); fullname != "" { _ = rd.Set("full_name", fullname) } else { // compat: field can be blank, fill in default _ = rd.Set("full_name", "default") } - if email, ok := os.LookupEnv("CODER_WORKSPACE_OWNER_EMAIL"); ok { + if email := os.Getenv("CODER_WORKSPACE_OWNER_EMAIL"); email != "" { _ = rd.Set("email", email) } else { _ = rd.Set("email", "default@example.com") } - if sshPubKey, ok := os.LookupEnv("CODER_WORKSPACE_OWNER_SSH_PUBLIC_KEY"); ok { - _ = rd.Set("ssh_public_key", sshPubKey) - } - - if sshPrivKey, ok := os.LookupEnv("CODER_WORKSPACE_OWNER_SSH_PRIVATE_KEY"); ok { - _ = rd.Set("ssh_private_key", sshPrivKey) - } + _ = rd.Set("ssh_public_key", os.Getenv("CODER_WORKSPACE_OWNER_SSH_PUBLIC_KEY")) + _ = rd.Set("ssh_private_key", os.Getenv("CODER_WORKSPACE_OWNER_SSH_PRIVATE_KEY")) var groups []string if groupsRaw, ok := os.LookupEnv("CODER_WORKSPACE_OWNER_GROUPS"); ok { if err := json.NewDecoder(strings.NewReader(groupsRaw)).Decode(&groups); err != nil { return diag.Errorf("invalid user groups: %s", err.Error()) } - _ = rd.Set("groups", groups) } + _ = rd.Set("groups", groups) - if tok, ok := os.LookupEnv("CODER_WORKSPACE_OWNER_SESSION_TOKEN"); ok { - _ = rd.Set("session_token", tok) - } - - if tok, ok := os.LookupEnv("CODER_WORKSPACE_OWNER_OIDC_ACCESS_TOKEN"); ok { - _ = rd.Set("oidc_access_token", tok) - } + _ = rd.Set("session_token", os.Getenv("CODER_WORKSPACE_OWNER_SESSION_TOKEN")) + _ = rd.Set("oidc_access_token", os.Getenv("CODER_WORKSPACE_OWNER_OIDC_ACCESS_TOKEN")) return nil },