@@ -310,29 +310,34 @@ func resourceTFETeamProjectAccessRead(ctx context.Context, d *schema.ResourceDat
310
310
d .Set ("project_id" , "" )
311
311
}
312
312
313
- project_access := []map [string ]interface {}{{
314
- "settings" : tmAccess .ProjectAccess .ProjectSettingsPermission ,
315
- "teams" : tmAccess .ProjectAccess .ProjectTeamsPermission ,
316
- }}
317
-
318
- workspace_access := []map [string ]interface {}{{
319
- "state_versions" : tmAccess .WorkspaceAccess .WorkspaceStateVersionsPermission ,
320
- "sentinel_mocks" : tmAccess .WorkspaceAccess .WorkspaceSentinelMocksPermission ,
321
- "runs" : tmAccess .WorkspaceAccess .WorkspaceRunsPermission ,
322
- "variables" : tmAccess .WorkspaceAccess .WorkspaceVariablesPermission ,
323
- "create" : tmAccess .WorkspaceAccess .WorkspaceCreatePermission ,
324
- "locking" : tmAccess .WorkspaceAccess .WorkspaceLockingPermission ,
325
- "move" : tmAccess .WorkspaceAccess .WorkspaceMovePermission ,
326
- "delete" : tmAccess .WorkspaceAccess .WorkspaceDeletePermission ,
327
- "run_tasks" : tmAccess .WorkspaceAccess .WorkspaceRunTasksPermission ,
328
- }}
329
-
330
- if err := d .Set ("project_access" , project_access ); err != nil {
331
- return diag .Errorf ("Error setting configuration of team project access %s: %v" , d .Id (), err )
332
- }
333
-
334
- if err := d .Set ("workspace_access" , workspace_access ); err != nil {
335
- return diag .Errorf ("Error setting configuration of team workspace access %s: %v" , d .Id (), err )
313
+ // These two fields are only available in TFC and TFE v202308-1 and later
314
+ if tmAccess .ProjectAccess != nil {
315
+ project_access := []map [string ]interface {}{{
316
+ "settings" : tmAccess .ProjectAccess .ProjectSettingsPermission ,
317
+ "teams" : tmAccess .ProjectAccess .ProjectTeamsPermission ,
318
+ }}
319
+
320
+ if err := d .Set ("project_access" , project_access ); err != nil {
321
+ return diag .Errorf ("Error setting configuration of team project access %s: %v" , d .Id (), err )
322
+ }
323
+ }
324
+
325
+ if tmAccess .WorkspaceAccess != nil {
326
+ workspace_access := []map [string ]interface {}{{
327
+ "state_versions" : tmAccess .WorkspaceAccess .WorkspaceStateVersionsPermission ,
328
+ "sentinel_mocks" : tmAccess .WorkspaceAccess .WorkspaceSentinelMocksPermission ,
329
+ "runs" : tmAccess .WorkspaceAccess .WorkspaceRunsPermission ,
330
+ "variables" : tmAccess .WorkspaceAccess .WorkspaceVariablesPermission ,
331
+ "create" : tmAccess .WorkspaceAccess .WorkspaceCreatePermission ,
332
+ "locking" : tmAccess .WorkspaceAccess .WorkspaceLockingPermission ,
333
+ "move" : tmAccess .WorkspaceAccess .WorkspaceMovePermission ,
334
+ "delete" : tmAccess .WorkspaceAccess .WorkspaceDeletePermission ,
335
+ "run_tasks" : tmAccess .WorkspaceAccess .WorkspaceRunTasksPermission ,
336
+ }}
337
+
338
+ if err := d .Set ("workspace_access" , workspace_access ); err != nil {
339
+ return diag .Errorf ("Error setting configuration of team workspace access %s: %v" , d .Id (), err )
340
+ }
336
341
}
337
342
338
343
return nil
0 commit comments