Skip to content

Commit 15bcd92

Browse files
committed
set api returned expiration date in state
1 parent 2657b9c commit 15bcd92

2 files changed

Lines changed: 17 additions & 4 deletions

File tree

internal/provider/resource_tfe_organization_token.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ func resourceTFEOrganizationTokenRead(d *schema.ResourceData, meta interface{})
126126
config := meta.(ConfiguredClient)
127127

128128
log.Printf("[DEBUG] Read the token from organization: %s", d.Id())
129-
_, err := config.Client.OrganizationTokens.Read(ctx, d.Id())
129+
token, err := config.Client.OrganizationTokens.Read(ctx, d.Id())
130130
if err != nil {
131131
if err == tfe.ErrResourceNotFound {
132132
log.Printf("[DEBUG] Token for organization %s no longer exists", d.Id())
@@ -136,6 +136,11 @@ func resourceTFEOrganizationTokenRead(d *schema.ResourceData, meta interface{})
136136
return fmt.Errorf("error reading token from organization %s: %w", d.Id(), err)
137137
}
138138

139+
// if expired_at was set to null at creation, the API returns a default value of 24 months from the creation date.
140+
if !token.ExpiredAt.IsZero() {
141+
d.Set("expired_at", token.ExpiredAt.Format(time.RFC3339))
142+
}
143+
139144
return nil
140145
}
141146

internal/provider/resource_tfe_team_token.go

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)