serverless/serverless · error · ServerlessError
ACM_CERTIFICATE_VALIDATION_RECORDS_TIMEOUT
ACM_CERTIFICATE_VALIDATION_RECORDS_TIMEOUT
Error message
Timeout waiting for certificate validation records after ${maxWaitTimeSeconds} seconds What it means
Error "Timeout waiting for certificate validation records after ${maxWaitTimeSeconds} seconds" thrown in serverless/serverless.
Source
Thrown at packages/serverless/lib/plugins/aws/domains/aws/acm-wrapper.js:215
}
const elapsed = Math.round((Date.now() - startTime) / 1000)
Logging.logInfo(
`Validation records not yet available (${elapsed}s elapsed). Retrying...`,
)
await sleep(pollIntervalSeconds)
} catch (err) {
throw new ServerlessError(
`Failed to get validation records for certificate '${certificateArn}': ${err.message}`,
ServerlessErrorCodes.domains
.ACM_CERTIFICATE_VALIDATION_RECORDS_FAILED,
{ originalMessage: err.message },
)
}
}
throw new ServerlessError(
`Timeout waiting for certificate validation records after ${maxWaitTimeSeconds} seconds`,
ServerlessErrorCodes.domains.ACM_CERTIFICATE_VALIDATION_RECORDS_TIMEOUT,
)
}
/**
* Waits for certificate validation to complete
* @param {string} certificateArn The ARN of the certificate
* @param {number} maxWaitTimeSeconds Maximum time to wait in seconds (default: 600)
* @param {number} pollIntervalSeconds Polling interval in seconds (default: 30)
* @returns {Promise<void>}
*/
async waitForCertificateValidation(
certificateArn,
maxWaitTimeSeconds = 600,
pollIntervalSeconds = 30,
) {
Logging.logInfo(View on GitHub (pinned to b9d7ea51c8)
Solutions
- Retry the operation; ACM validation record generation can be slow, so increase wait time or check the certificate status in the ACM console.
When it happens
Trigger: Thrown at packages/serverless/lib/plugins/aws/domains/aws/acm-wrapper.js:215 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- SSL/TLS and certificate errors — how TLS handshakes and certificate validation fail.
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of serverless/serverless@b9d7ea51c8 (2026-08-13).
Data as JSON: /api/errors/fe6bb9a2f0e522c1.
Report an issue: GitHub.