class Aws::Plugins::RetryErrors
@api private
def self.resolve_adaptive_retry_wait_to_fill(cfg)
def self.resolve_adaptive_retry_wait_to_fill(cfg) value = ENV['AWS_ADAPTIVE_RETRY_WAIT_TO_FILL'] || Aws.shared_config.adaptive_retry_wait_to_fill(profile: cfg.profile) || 'true' # Raise if provided value is not true or false if value != 'true' && value != 'false' raise ArgumentError, 'Must provide either `true` or `false` for '\ 'adaptive_retry_wait_to_fill profile option or for '\ 'ENV[\'AWS_ADAPTIVE_RETRY_WAIT_TO_FILL\']' end value == 'true' end
def self.resolve_correct_clock_skew(cfg)
def self.resolve_correct_clock_skew(cfg) value = ENV['AWS_CORRECT_CLOCK_SKEW'] || Aws.shared_config.correct_clock_skew(profile: cfg.profile) || 'true' # Raise if provided value is not true or false if value != 'true' && value != 'false' raise ArgumentError, 'Must provide either `true` or `false` for '\ 'correct_clock_skew profile option or for '\ 'ENV[\'AWS_CORRECT_CLOCK_SKEW\']' end value == 'true' end
def self.resolve_max_attempts(cfg)
def self.resolve_max_attempts(cfg) value = ENV['AWS_MAX_ATTEMPTS'] || Aws.shared_config.max_attempts(profile: cfg.profile) || 3 # Raise if provided value is not a positive integer if !value.is_a?(Integer) || value <= 0 raise ArgumentError, 'Must provide a positive integer for max_attempts profile '\ 'option or for ENV[\'AWS_MAX_ATTEMPTS\']' end value end
def self.resolve_retry_mode(cfg)
def self.resolve_retry_mode(cfg) value = ENV['AWS_RETRY_MODE'] || Aws.shared_config.retry_mode(profile: cfg.profile) || 'legacy' # Raise if provided value is not one of the retry modes if value != 'legacy' && value != 'standard' && value != 'adaptive' raise ArgumentError, 'Must provide either `legacy`, `standard`, or `adaptive` for '\ 'retry_mode profile option or for ENV[\'AWS_RETRY_MODE\']' end value end
def add_handlers(handlers, config)
def add_handlers(handlers, config) if config.retry_mode == 'legacy' if config.retry_limit > 0 handlers.add(LegacyHandler, step: :sign, priority: 99) end else handlers.add(Handler, step: :sign, priority: 99) end end