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;
147 explicit ClientConfiguration(
bool useSmartDefaults,
const char* defaultMode =
"legacy",
bool shouldDisableIMDS =
false);
174 bool useDualStack =
false;
179 bool useFIPS =
false;
184 unsigned maxConnections = 25;
190 long httpRequestTimeoutMs = 0;
198 long requestTimeoutMs = 0;
202 long connectTimeoutMs = 1000;
207 bool enableTcpKeepAlive =
true;
213 unsigned long tcpKeepAliveIntervalMs = 30000;
218 unsigned long lowSpeedLimit = 1;
223 std::shared_ptr<RetryStrategy> retryStrategy =
nullptr;
232 bool allowSystemProxy =
false;
244 unsigned proxyPort = 0;
286 std::shared_ptr<Aws::Utils::Threading::Executor> executor =
nullptr;
291 bool verifySSL =
true;
322 std::shared_ptr<Aws::Utils::RateLimits::RateLimiterInterface> writeRateLimiter =
nullptr;
327 std::shared_ptr<Aws::Utils::RateLimits::RateLimiterInterface> readRateLimiter =
nullptr;
351 bool disableExpectHeader =
false;
356 bool enableClockSkewAdjustment =
true;
365 bool enableHostPrefixInjection =
true;
384 bool enableHttpClientTrace =
false;
401 bool disableIMDS =
false;
416 bool disableImdsV1 =
false;
466 bool useAnonymousAuth =
false;
AWS_CORE_API Aws::String FilterUserAgentToken(char const *const token)
RequestChecksumCalculation
ResponseChecksumValidation
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