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..13e36187 100644 --- a/provider/workspace_owner.go +++ b/provider/workspace_owner.go @@ -11,62 +11,47 @@ 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.", 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) - } - - if tok, ok := os.LookupEnv("CODER_WORKSPACE_OWNER_SESSION_TOKEN"); ok { - _ = rd.Set("session_token", tok) } + _ = rd.Set("groups", groups) - 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 },
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: