@@ -231,11 +231,12 @@ func (r *resourceTFETeamToken) Read(ctx context.Context, req resource.ReadReques
231231
232232 teamID := state .TeamID .ValueString ()
233233 tflog .Debug (ctx , fmt .Sprintf ("Read the token from team: %s" , teamID ))
234+ var token * tfe.TeamToken
234235 var err error
235236 if isTokenID (state .ID .ValueString ()) {
236- _ , err = r .config .Client .TeamTokens .ReadByID (ctx , state .ID .ValueString ())
237+ token , err = r .config .Client .TeamTokens .ReadByID (ctx , state .ID .ValueString ())
237238 } else {
238- _ , err = r .config .Client .TeamTokens .Read (ctx , teamID )
239+ token , err = r .config .Client .TeamTokens .Read (ctx , teamID )
239240 }
240241 if err != nil {
241242 if errors .Is (err , tfe .ErrResourceNotFound ) {
@@ -249,7 +250,14 @@ func (r *resourceTFETeamToken) Read(ctx context.Context, req resource.ReadReques
249250 )
250251 return
251252 }
252- result := modelFromTFEToken (state .TeamID , state .ID , state .Token , state .ForceRegenerate , state .ExpiredAt , state .Description )
253+
254+ // if expired_at was set to null at creation, the API returns a default value of 24 months from the creation date.
255+ expiredAt := types .StringNull ()
256+ if token != nil && ! token .ExpiredAt .IsZero () {
257+ expiredAt = types .StringValue (token .ExpiredAt .Format (time .RFC3339 ))
258+ }
259+
260+ result := modelFromTFEToken (state .TeamID , state .ID , state .Token , state .ForceRegenerate , expiredAt , state .Description )
253261 resp .Diagnostics .Append (resp .State .Set (ctx , result )... )
254262}
255263
0 commit comments