% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/aws-retry.R
\name{with_aws_retry}
\alias{with_aws_retry}
\title{Retry AWS operations with exponential backoff}
\usage{
with_aws_retry(
  expr,
  max_attempts = 3,
  base_delay = 1,
  max_delay = 60,
  retryable_errors = c("Throttling", "ThrottlingException", "RequestTimeout",
    "ServiceUnavailable", "InternalError", "InternalServerError", "TooManyRequests",
    "RequestLimitExceeded", "5\\\\d{2}"),
  operation_name = "AWS operation"
)
}
\arguments{
\item{expr}{Expression to evaluate (AWS API call)}

\item{max_attempts}{Maximum retry attempts (default: 3)}

\item{base_delay}{Initial delay in seconds (default: 1)}

\item{max_delay}{Maximum delay in seconds (default: 60)}

\item{retryable_errors}{Regex patterns for retryable error messages}

\item{operation_name}{Optional name for logging (default: "AWS operation")}
}
\value{
Result of expression
}
\description{
Wraps AWS API calls with automatic retry logic for transient failures.
Uses exponential backoff with jitter to avoid thundering herd.
}
\keyword{internal}
