8#include <aws/core/Core_EXPORTS.h>
9#include <aws/core/http/Scheme.h>
10#include <aws/core/http/Version.h>
11#include <aws/core/Region.h>
12#include <aws/core/utils/memory/stl/AWSString.h>
13#include <aws/core/http/HttpTypes.h>
14#include <aws/core/utils/Array.h>
15#include <aws/crt/Optional.h>
16#include <smithy/tracing/TelemetryProvider.h>
30 class RateLimiterInterface;
127 explicit ClientConfiguration(
bool useSmartDefaults,
const char* defaultMode =
"legacy",
bool shouldDisableIMDS =
false);
154 bool useDualStack =
false;
159 bool useFIPS =
false;
164 unsigned maxConnections = 25;
170 long httpRequestTimeoutMs = 0;
178 long requestTimeoutMs = 0;
182 long connectTimeoutMs = 1000;
187 bool enableTcpKeepAlive =
true;
193 unsigned long tcpKeepAliveIntervalMs = 30000;
198 unsigned long lowSpeedLimit = 1;
203 std::shared_ptr<RetryStrategy> retryStrategy =
nullptr;
212 bool allowSystemProxy =
false;
224 unsigned proxyPort = 0;
266 std::shared_ptr<Aws::Utils::Threading::Executor> executor =
nullptr;
271 bool verifySSL =
true;
302 std::shared_ptr<Aws::Utils::RateLimits::RateLimiterInterface> writeRateLimiter =
nullptr;
307 std::shared_ptr<Aws::Utils::RateLimits::RateLimiterInterface> readRateLimiter =
nullptr;
331 bool disableExpectHeader =
false;
336 bool enableClockSkewAdjustment =
true;
345 bool enableHostPrefixInjection =
true;
364 bool enableHttpClientTrace =
false;
381 bool disableIMDS =
false;
396 bool disableImdsV1 =
false;
AWS_CORE_API Aws::String FilterUserAgentToken(char const *const token)
AWS_CORE_API Aws::String ComputeUserAgentString(ClientConfiguration const *const pConfig=nullptr)
std::shared_ptr< RetryStrategy > InitRetryStrategy(Aws::String retryMode="")
TransferLibPerformanceMode
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::function< std::shared_ptr< Utils::Threading::Executor >()> executorCreateFn
std::function< std::shared_ptr< Utils::RateLimits::RateLimiterInterface >()> readRateLimiterCreateFn
std::function< std::shared_ptr< smithy::components::tracing::TelemetryProvider >()> telemetryProviderCreateFn
std::function< std::shared_ptr< Utils::RateLimits::RateLimiterInterface >()> writeRateLimiterCreateFn
static ProviderFactories defaultFactories
std::function< std::shared_ptr< RetryStrategy >()> retryStrategyCreateFn
Aws::Crt::Optional< bool > enableEndpointDiscovery
Aws::String proxySSLCertType
ClientConfiguration(const char *profileName, bool shouldDisableIMDS=false)
Aws::Http::Scheme proxyScheme
static Aws::String LoadConfigFromEnvOrProfile(const Aws::String &envKey, const Aws::String &profile, const Aws::String &profileProperty, const Aws::Vector< Aws::String > &allowedValues, const Aws::String &defaultValue)
Aws::Http::TransferLibType httpLibOverride
Aws::String proxySSLCertPath
Aws::Client::RequestCompressionConfig requestCompressionConfig
Aws::String proxySSLKeyPassword
ClientConfiguration(const ClientConfigurationInitValues &configuration)
Aws::String endpointOverride
FollowRedirectsPolicy followRedirects
Aws::String proxyPassword
virtual ~ClientConfiguration()=default
Aws::String proxySSLKeyPath
ClientConfiguration(bool useSmartDefaults, const char *defaultMode="legacy", bool shouldDisableIMDS=false)
Aws::String proxySSLKeyType
Aws::String proxyUserName
Aws::Utils::Array< Aws::String > nonProxyHosts
std::shared_ptr< smithy::components::tracing::TelemetryProvider > telemetryProvider
UseRequestCompression useRequestCompression
size_t requestMinCompressionSizeBytes