@@ -9,9 +9,41 @@ import aws.smithy.kotlin.runtime.ServiceErrorMetadata
99import aws.smithy.kotlin.runtime.ServiceException
1010import aws.smithy.kotlin.runtime.http.response.HttpResponse
1111import aws.smithy.kotlin.runtime.retries.policy.RetryDirective
12- import aws.smithy.kotlin.runtime.retries.policy.RetryErrorType.*
12+ import aws.smithy.kotlin.runtime.retries.policy.RetryErrorType.Throttling
13+ import aws.smithy.kotlin.runtime.retries.policy.RetryErrorType.Transient
1314import aws.smithy.kotlin.runtime.retries.policy.StandardRetryPolicy
1415
16+ /* *
17+ * The standard policy for AWS service clients that defines which error conditions are retryable and how. This policy
18+ * will evaluate the following exceptions as retryable:
19+ *
20+ * * Any [ServiceException] with an `sdkErrorMetadata.errorCode` of:
21+ * * `BandwidthLimitExceeded`
22+ * * `EC2ThrottledException`
23+ * * `IDPCommunicationError`
24+ * * `LimitExceededException`
25+ * * `PriorRequestNotComplete`
26+ * * `ProvisionedThroughputExceededException`
27+ * * `RequestLimitExceeded`
28+ * * `RequestThrottled`
29+ * * `RequestThrottledException`
30+ * * `RequestTimeout`
31+ * * `RequestTimeoutException`
32+ * * `SlowDown`
33+ * * `ThrottledException`
34+ * * `Throttling`
35+ * * `ThrottlingException`
36+ * * `TooManyRequestsException`
37+ * * `TransactionInProgressException`
38+ * * Any [ServiceException] with an `sdkErrorMetadata.statusCode` of:
39+ * * 500 (Internal Service Error)
40+ * * 502 (Bad Gateway)
41+ * * 503 (Service Unavailable)
42+ * * 504 (Gateway Timeout)
43+ *
44+ * If none of those conditions match, this policy delegates to [StandardRetryPolicy]. See that class's documentation for
45+ * more information about how it evaluates exceptions.
46+ */
1547public open class AwsRetryPolicy : StandardRetryPolicy () {
1648 public companion object {
1749 /* *
0 commit comments