INNER CODE UNIT · Go
earlyRenewalPeriod
hashicorp/terraform-provider-tls · internal/provider/common_cert.go:301
earlyRenewalPeriod := time.Duration(-earlyRenewalHours) * time.Hour
earlyRenewalTime := validityEndTime.Add(earlyRenewalPeriod)
// If "early renewal" time has passed, mark it "ready for renewal"
timeToEarlyRenewal := earlyRenewalTime.Sub(currentTime)
if timeToEarlyRenewal <= 0 {
tflog.Info(ctx, "Certificate is ready for early renewal")
readyForRenewalPath := path.Root("ready_for_renewal")
res.Diagnostics.Append(res.Plan.SetAttribute(ctx, readyForRenewalPath, types.BoolUnknown())...)
res.RequiresReplace = append(res.RequiresReplace, readyForRenewalPath)
}
}
func modifyStateIfCertificateReadyForRenewal(ctx context.Context, req resource.ReadRequest, resp *resource.ReadResponse) {
// Retrieve `validity_end_time` and confirm is a known, non-null value
validityEndTimePath := path.Root("validity_end_time")
var validityEndTimeStr types.String
resp.Diagnostics.Append(req.State.GetAttribute(ctx, validityEndTimePath, &validityEndTimeStr)...)