7
7
"reflect"
8
8
"strconv"
9
9
10
+ "github.com/coder/terraform-provider-coder/provider/helpers"
10
11
"github.com/google/uuid"
11
12
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
12
13
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -28,19 +29,13 @@ func workspaceDataSource() *schema.Resource {
28
29
}
29
30
_ = rd .Set ("start_count" , count )
30
31
31
- owner := os .Getenv ("CODER_WORKSPACE_OWNER" )
32
- if owner == "" {
33
- owner = "default"
34
- }
32
+ owner := helpers .OptionalEnvOrDefault ("CODER_WORKSPACE_OWNER" , "default" )
35
33
_ = rd .Set ("owner" , owner )
36
34
37
- ownerEmail := os .Getenv ("CODER_WORKSPACE_OWNER_EMAIL" )
38
- if ownerEmail == "" {
39
- ownerEmail = "default@example.com"
40
- }
35
+ ownerEmail := helpers .OptionalEnvOrDefault ("CODER_WORKSPACE_OWNER_EMAIL" , "default@example.com" )
41
36
_ = rd .Set ("owner_email" , ownerEmail )
42
37
43
- ownerGroupsText := os . Getenv ("CODER_WORKSPACE_OWNER_GROUPS" )
38
+ ownerGroupsText := helpers . OptionalEnv ("CODER_WORKSPACE_OWNER_GROUPS" )
44
39
var ownerGroups []string
45
40
if ownerGroupsText != "" {
46
41
err := json .Unmarshal ([]byte (ownerGroupsText ), & ownerGroups )
@@ -50,43 +45,40 @@ func workspaceDataSource() *schema.Resource {
50
45
}
51
46
_ = rd .Set ("owner_groups" , ownerGroups )
52
47
53
- ownerName := os .Getenv ("CODER_WORKSPACE_OWNER_NAME" )
54
- if ownerName == "" {
55
- ownerName = "default"
56
- }
48
+ ownerName := helpers .OptionalEnvOrDefault ("CODER_WORKSPACE_OWNER_NAME" , "default" )
57
49
_ = rd .Set ("owner_name" , ownerName )
58
50
59
- ownerID := os .Getenv ("CODER_WORKSPACE_OWNER_ID" )
60
- if ownerID == "" {
61
- ownerID = uuid .Nil .String ()
62
- }
51
+ ownerID := helpers .OptionalEnvOrDefault ("CODER_WORKSPACE_OWNER_ID" , uuid .Nil .String ())
63
52
_ = rd .Set ("owner_id" , ownerID )
64
53
65
- ownerOIDCAccessToken := os . Getenv ("CODER_WORKSPACE_OWNER_OIDC_ACCESS_TOKEN" )
54
+ ownerOIDCAccessToken := helpers . OptionalEnv ("CODER_WORKSPACE_OWNER_OIDC_ACCESS_TOKEN" )
66
55
_ = rd .Set ("owner_oidc_access_token" , ownerOIDCAccessToken )
67
56
68
- name := os .Getenv ("CODER_WORKSPACE_NAME" )
69
- if name == "" {
70
- name = "default"
71
- }
57
+ name := helpers .OptionalEnvOrDefault ("CODER_WORKSPACE_NAME" , "default" )
72
58
rd .Set ("name" , name )
73
59
74
- sessionToken := os . Getenv ("CODER_WORKSPACE_OWNER_SESSION_TOKEN" )
60
+ sessionToken := helpers . OptionalEnv ("CODER_WORKSPACE_OWNER_SESSION_TOKEN" )
75
61
_ = rd .Set ("owner_session_token" , sessionToken )
76
62
77
- id := os .Getenv ("CODER_WORKSPACE_ID" )
78
- if id == "" {
79
- id = uuid .NewString ()
80
- }
63
+ id := helpers .OptionalEnvOrDefault ("CODER_WORKSPACE_ID" , uuid .NewString ())
81
64
rd .SetId (id )
82
65
83
- templateID := os .Getenv ("CODER_WORKSPACE_TEMPLATE_ID" )
66
+ templateID , err := helpers .RequireEnv ("CODER_WORKSPACE_TEMPLATE_ID" )
67
+ if err != nil {
68
+ return diag .Errorf ("undefined env: %v" , err )
69
+ }
84
70
_ = rd .Set ("template_id" , templateID )
85
71
86
- templateName := os .Getenv ("CODER_WORKSPACE_TEMPLATE_NAME" )
72
+ templateName , err := helpers .RequireEnv ("CODER_WORKSPACE_TEMPLATE_NAME" )
73
+ if err != nil {
74
+ return diag .Errorf ("undefined env: %v" , err )
75
+ }
87
76
_ = rd .Set ("template_name" , templateName )
88
77
89
- templateVersion := os .Getenv ("CODER_WORKSPACE_TEMPLATE_VERSION" )
78
+ templateVersion , err := helpers .RequireEnv ("CODER_WORKSPACE_TEMPLATE_VERSION" )
79
+ if err != nil {
80
+ return diag .Errorf ("undefined env: %v" , err )
81
+ }
90
82
_ = rd .Set ("template_version" , templateVersion )
91
83
92
84
config , valid := i .(config )
0 commit comments