@@ -11,62 +11,47 @@ import (
11
11
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
12
12
)
13
13
14
- type Role struct {
15
- Name string `json:"name"`
16
- DisplayName string `json:"display-name"`
17
- }
18
-
19
14
func workspaceOwnerDataSource ()* schema.Resource {
20
15
return & schema.Resource {
21
16
Description :"Use this data source to fetch information about the workspace owner." ,
22
17
ReadContext :func (ctx context.Context ,rd * schema.ResourceData ,i interface {}) diag.Diagnostics {
23
- if idStr , ok := os .LookupEnv ("CODER_WORKSPACE_OWNER_ID" );ok {
18
+ if idStr := os .Getenv ("CODER_WORKSPACE_OWNER_ID" );idStr != "" {
24
19
rd .SetId (idStr )
25
20
}else {
26
21
rd .SetId (uuid .NewString ())
27
22
}
28
23
29
- if username , ok := os .LookupEnv ("CODER_WORKSPACE_OWNER" );ok {
24
+ if username := os .Getenv ("CODER_WORKSPACE_OWNER" );username != "" {
30
25
_ = rd .Set ("name" ,username )
31
26
}else {
32
27
_ = rd .Set ("name" ,"default" )
33
28
}
34
29
35
- if fullname , ok := os .LookupEnv ("CODER_WORKSPACE_OWNER_NAME" );ok {
30
+ if fullname := os .Getenv ("CODER_WORKSPACE_OWNER_NAME" );fullname != "" {
36
31
_ = rd .Set ("full_name" ,fullname )
37
32
}else {// compat: field can be blank, fill in default
38
33
_ = rd .Set ("full_name" ,"default" )
39
34
}
40
35
41
- if email , ok := os .LookupEnv ("CODER_WORKSPACE_OWNER_EMAIL" );ok {
36
+ if email := os .Getenv ("CODER_WORKSPACE_OWNER_EMAIL" );email != "" {
42
37
_ = rd .Set ("email" ,email )
43
38
}else {
44
39
_ = rd .Set ("email" ,"default@example.com" )
45
40
}
46
41
47
- if sshPubKey ,ok := os .LookupEnv ("CODER_WORKSPACE_OWNER_SSH_PUBLIC_KEY" );ok {
48
- _ = rd .Set ("ssh_public_key" ,sshPubKey )
49
- }
50
-
51
- if sshPrivKey ,ok := os .LookupEnv ("CODER_WORKSPACE_OWNER_SSH_PRIVATE_KEY" );ok {
52
- _ = rd .Set ("ssh_private_key" ,sshPrivKey )
53
- }
42
+ _ = rd .Set ("ssh_public_key" ,os .Getenv ("CODER_WORKSPACE_OWNER_SSH_PUBLIC_KEY" ))
43
+ _ = rd .Set ("ssh_private_key" ,os .Getenv ("CODER_WORKSPACE_OWNER_SSH_PRIVATE_KEY" ))
54
44
55
45
var groups []string
56
46
if groupsRaw ,ok := os .LookupEnv ("CODER_WORKSPACE_OWNER_GROUPS" );ok {
57
47
if err := json .NewDecoder (strings .NewReader (groupsRaw )).Decode (& groups );err != nil {
58
48
return diag .Errorf ("invalid user groups: %s" ,err .Error ())
59
49
}
60
- _ = rd .Set ("groups" ,groups )
61
- }
62
-
63
- if tok ,ok := os .LookupEnv ("CODER_WORKSPACE_OWNER_SESSION_TOKEN" );ok {
64
- _ = rd .Set ("session_token" ,tok )
65
50
}
51
+ _ = rd .Set ("groups" ,groups )
66
52
67
- if tok ,ok := os .LookupEnv ("CODER_WORKSPACE_OWNER_OIDC_ACCESS_TOKEN" );ok {
68
- _ = rd .Set ("oidc_access_token" ,tok )
69
- }
53
+ _ = rd .Set ("session_token" ,os .Getenv ("CODER_WORKSPACE_OWNER_SESSION_TOKEN" ))
54
+ _ = rd .Set ("oidc_access_token" ,os .Getenv ("CODER_WORKSPACE_OWNER_OIDC_ACCESS_TOKEN" ))
70
55
71
56
return nil
72
57
},